EWM concepts for Rational ClearCase users
An understanding of how IBM® Engineering Workflow Management (EWM) concepts relate to similar ones in Rational® ClearCase® can help Rational ClearCase users adapt to using EWM.
For a concise overview of EWM terminology and concepts, see the Source control overview.
|Rational ClearCase concept||Approximate EWM equivalent||Description|
|Check out and Check in||Check in||Commits changes to the repository.|
|Activity||Change set||Collects a set of file changes into a single package of changes that is associated with a Rational ClearQuest® Record/Work Item.|
|VOB||Repository||Stores data under source control (single EWM repository, multiple VOBs).|
|Dynamic view||N/A||A virtual workspace with dynamic contents.|
|View storage||Repository workspace||A good Rational ClearCase equivalent for the repository workspace does not exist; the closest comparison is a view storage area on a view server.|
|Snapshot view||Sandbox or Eclipse workspace||Copy-based workspace that is used for development activities.|
|Updating||Synchronizing or Accept||Updates the user workspace, where changes from other team members are brought into the user's personal work area.|
|Deliver||Deliver||The promotion of a change that is set from the workspace to the stream, where it is shared with the larger team.|
|Rebase||Accept||Changes that are made by other team members are brought into the user's personal work stream.|
|Reserved check out||Locked||Ability to "reserve" a resource, so that you are the only user who can modify the resource.|
|Baseline||Baseline||A collection of files (configuration) within a component at a point in time.|
|Composite baseline||Snapshot||A collection of different components and the specific baselines from those components.|
|UCM||Process templates (like Scrum)||A predefined template that defines record types or work items and the relationships and processes that are associated with them.|
|Stream or Branch||Stream||A logical "split" of the code to enable parallel development activities to take place in isolation.|
|Merge||Merge||Taking versions of the same file on two different branches, and reconciling the changes that are made to those files.|
|N/A||Suspend and Resume||Ability to temporarily store or restore changes that are made in a workspace that enables the workspace to revert to a known configuration.|
Source control differences
EWM has many of the same concepts that you find in Rational ClearCase, but some differences exist. In Rational ClearCase, you are encouraged to create streams and branches to isolate your work. Often, you create multiple views with one set of changes that are done in each view, which isolates the changes and prevents any artificial dependencies between change sets. In EWM, you are encouraged to make one change at a time within your sandbox. EWM does not have dynamic views, nor does it have a concept of checkout, although, EWM does support resource locking. Instead, you can join a project and create your own repository workspace, which holds copies of your change sets, and a personal sandbox work area on your local workstation.
If you are working on multiple changes in EWM, you can either create multiple sandbox and repository workspaces or you can suspend work on one change set before you begin to work on another one. This ability to suspend work takes all the changes that are associated with a change set and stores them in the repository, so that you can resume or reapply these changes later. The workspace reverts to its original state, which helps to decrease the number of workspaces that you must monitor.
In Rational ClearCase, team members deliver changes from their working area, called a view, to a stream. Other team members rebase their streams and pick up changes that are made on the parent stream. When you make changes in your EWM sandbox, you can check in the changes and relate them to a change set, which collects the individual changes and stores them in the repository workspace area. These change sets can then be delivered to one or more streams. Other team members can accept changes to their repository workspace from this stream and receive changes that are made on the parent stream. Similar to Rational ClearCase, when conflicts exist between versions of the same file, EWM provides merge tools to help resolve these conflicts.
In EWM, you can check your user sandbox, or Eclipse workspace, for changes at any time by using the interface that indicates all potential outgoing change sets (work that you want to deliver) and incoming change sets (work that is done by other team members). You can select change sets to either deliver (sharing change sets with the team), or you can accept changes on an individual basis (applying change sets in the stream to your own repository workspace and sandbox). Baselines of the components can also be created. A collection of baselines across multiple components is called a snapshot. Do not confuse the term snapshot with a snapshot view in Rational ClearCase; the concepts are different.