What are the Change Sets?
A change set is a repository object of Jazz which contains related files, folders and other modifications within a component of a stream in Source Control Management.
The change set is the most basic unit of change in Rational Team Concert™ source control management. A change set can include changes to the individual files' content and changes to a component (like delete, rename, etc.)
A change set is basically a collection of related changes to files or folders that are present in a flow target. You can see the Change sets in the Pending Changes window of RTC Eclipse IDE. Change Sets creates the storage model of RTC. They are the base currency and can be shared (through work items), suspended, discarded, and reverted.
Working with Change Sets
When you save your changes, changes will be appeared in Pending Changes window as Change Set. You create change sets by making changes in files in your sandbox, then committing to a repository workspace, which backs up and records the changes.
The changed source will be in Pending Changes > Unresolved
Right click the Unresolved folder then Check-in > New Change Set.
now those changes will come to Outgoing.
Incoming Change Sets
We call a change set as incoming when it is present in a workspace flow target but not in your own workspace.
You can see the Incoming folder in the Pending Changes view. You can accept an incoming change set to add it to your repository workspace and then load it into your sandbox.
In case, an accepted change causes any errors in your workspace, you have an option to discard it. In this way, that change set will be unloaded from your sandbox, from your repository workspace, and it will be moved to the Incoming folder, hence undoing the accept operation.
Outgoing Change Sets
We call a change set as outgoing when it is present in your own workspace but not in its flow targets.
You can see the Outgoing folder In the Pending Changes view like Incoming folder.
The following operations can be performed for an outgoing change set:
After marking it Delivered it will flow to the current flow target of the workspace.
The Suspended change set will be removed from the sandbox, but it will be saved in your repository for future resuming. The changes in the change set revert to the state they were in before the first change was made.
When the change set is discarded, all its items will be revert back to the state they were in before the first change was made. After discarding a change set, all changes will be undone on permanent basis.
Starting new change sets
You can create a new, empty change set any time.
- In Pending Changes, go to the component where you want to create the new change set.
- Right-click the component, select New > Change set.
- Right-click the new change set, Edit Comment (a little about the change set purpose). An entry with the name Enter Comment is added to the Outgoing folder.
Delivering change sets
Change set should be delivered so that team can view them, Prior delivering change sets, check in the changes.
- In Pending Changes, expand the Outgoing folder of the component that contains the change set.
- Right-click change set, Deliver and Resolve Work Item.
- Click Finish.
Accepting incoming change sets
Incoming change sets are the change sets that your team delivered to current flow target. They will be shown in the Incoming folder of the Pending Changes.
- First, accept the incoming change sets by right-click Incoming then click Accept.
Suspending change sets
You can suspend any change set at any point int time if you need to remove from your repository workspace but still want to preserve it in the repository. This change set can be restored any time when you want to resume your work. Prior to suspending a change sets, you have to check in the changes.
- In Pending Changes, go to the change set in the Outgoing folder.
- Right-click the change set then click Suspend.
Resuming change sets
You can resume a change set which was previously suspended due to any reason.
- In Pending Changes, go to the Suspended folder for the component.
- Right-click the change set then click Resume.
Discarding change sets
If any change set is of no use or causing an error in the source it can be discarded. You can discard either a outgoing change set or an accepted change set.
- In Pending Changes, go to a change set in the Outgoing folder.
- Right-click the change set and click Discard.
- On confirmation message, click Yes.
Completing change sets
When you have done with the work, you can make a change set Complete. A completed change set will no longer be active. Prior to completing a change set, you have to check it in the change set.
- In Pending Changes, go to the Outgoing folder.
- Right-click a change set then click Complete.
Reversing change sets
By reversing a change set, you can remove the changes present in that change set. It will create a patch. On merging the patch in your repository workspace, the changes made to the selected change set are removed and a new change set will be created. This new change set can be delivered to reverse the changes in the workspace flow target.
- In the Team Artifacts or in the Pending Changes, right-click a component and click Show History.
- Right-click the change set that you want to reverse then click Reverse. It will create RTC source control patch named Reverse:name_of_change_set in the Pending Patches folder in the Pending Changes. You can view the patch only if in Tools > Options > Source Control > Jazz Source Control > Changes, the Show pending patches in Pending Changes view is selected.
- Before merging the patch to the sandbox, you must check the patch contents by opening them in the Compare Editor so that it couldn't create any conflict. If there are any active change sets already in the workspace, complete or suspend them before merging the patch.
- After patch checking, right-click the patch and click Merge into Workspace. If the patch is not merged automatically, you have to open the patch contents in the Compare Editor to merge the changes manually. The merge creates unresolved changes in the components affected by the patch.
- Check in the unresolved changes and deliver them to reverse the change set that you selected.
Moving files or folders to other change sets
You can move any important files/folders to a change set.
- In Pending Changes window, go to the Outgoing folder that contains the files or folder that you want to move.
- Right-click a file or folder then click Move > New change set.
Associating work items with change sets
You can associate a work item with change set(s).
- In Pending Changes, go to the change set in the Outgoing folder, right-click the change set and click Associate Work Item.
- On the Select Work Items screen, do one of the following:
- Enter the work item ID or summary text in Containing ID or text, if a work item is already created, and click OK.
- If you need to create a new work item, click Create new work item. Enter the work item details and click OK.
Viewing change sets associated with work items
By viewing the change sets associated with work items will give you complete information about the changes that happened throughout the life cycle of the work item.
- In Team Artifacts, expand the project area, go to the Work Items folder and run a query.
- In the Work Items tool window, right-click a work item and click Explore Change sets. If change sets are not associated with the work item, this option will be unavailable. The change sets open in the Team Concert Search tool window.
Now, you can right-click a change set to do any of the following operations:
- Open Work Items: Opens the work items associated with the change set in the internal Web browser.
- Open in Change Explorer: Opens the change set in the Change Explorer tool window.
- Reverse: Reverses the changes made in the selected change set.
- Accept: Accepts a change set if not already accepted.
- Edit comment: Adds a comment, if not there. You can also edit a comment.
- Remove Work Item: Removes the work item associated with the change set.
- Associate Work Item: Associates a work item with the change set.
Reviewing changes in change sets
With the help of Change Summary, you can review changes to files and folders and view information about individual change sets that modified a file or folder. You can also use the Change Explorer window to compare change sets in different work spaces, streams, snapshots, or baselines.
- To view changes to files or folders in a change set:
- In the History window of a component, right-click the change set; then click Open in Change Summary.
- To view information about individual change sets that modified a file or folder, in the upper left corner, click the View Menu icon; then click Show Details Pane.
- To open the before and after versions of the file in the compare editor, right-click a file; then click Open in Compare Editor.
- To view the history of a selected file, right-click a file; then click Show History.
- To view annotations in a file, right-click a file; then click Annotate.
- To compare change sets in different workspace, streams, snapshots, or baselines:
- In the Team Artifacts window, navigate to any workspace, streams, snapshots, or baselines that you want to compare. Use the Compare With menu item to compare the selections.
- After the Change Explorer window opens, expand the change sets to view the differences.
- Right-click a selection to view more options.
Locating change sets
You can find out change sets' streams, repository workspace, or snapshots that it belongs to.
- In Pending Changes, right-click a change set; then click Locate Change Sets.
- In the Locate Change Sets editor, in the Change sets area, add change sets or work items that you want to search.
- In the Search Targets area, add streams, repository workspaces, or snapshots to search change sets in. You can add one or more streams, repository workspaces, or snapshots into the Search Targets area from other views, such as the Team Artifacts view or Search view.
With the help of this post, any developer can easily learn to work with change sets in RTC SCM Model at beginner level.