Version control
Version control enables you to create and manage ALM entities while maintaining previous versions of these entities.
Overview
In a version control enabled project, you can create and manage ALM entities while maintaining previous versions of these entities. Version control functionality is available in the following modules: Requirements, Business Models, Test Plan, Business Components, and Test Resources.
To make changes to an entity in a version control enabled project, you must first check out the entity. When you check out an entity, ALM locks the entity, preventing other users from overwriting any changes you make. The checked out version of the entity is not visible to other users.
When you finish making changes, you check in the entity. The new version of the entity is then available to other users.
You can view all previous versions of an entity, or check out an earlier version. You can also compare two versions of an entity to view the changes between versions.
Note: Version control applies to single entities only. To maintain usability and data integrity, ALM stores previous versions of an entity without data related to relationships between entities. When an entity is checked in, only data of the individual entity is stored. The following data is not stored for versions: requirements and tests coverage, requirements traceability, and defect linkage. In addition, risk data is also not stored for previous versions of an entity.
Baselines provide a snapshot of a set of entities and the relationships between them. For details, see Baselines Overview.
Version control use examples
The following examples demonstrate when you can use version control.
Monitor changes and compare versions
Kelly, the product manager, finds that product development is being implemented differently than she had expected. She reviews the requirements for the product and discovers that some have changed. She compares the current requirements with the versions of the requirements that were agreed upon at the start of the release.
Restore an earlier version
Michael, a QA tester, receives a new build of the banking application currently being developed. He starts to update the relevant tests to meet the needs of the new release. Then the development team sends out notification of a significant problem with the build. Development rolls back to the previous build. Michael decides to check out and revert back to the versions of tests that were used for the previous build and continue testing from there.
Lock entities for editing
Robert, a business analyst, wants to update certain functionality for an application. To do this, he needs to update a set of requirements. He requires several days to update the requirements, and does not want anyone else to make any changes to the requirements while he is editing them. Robert checks out the relevant requirements, and starts to edit.
Work with version control
This task describes how to work with version control in an ALM project. Version control enables you to create and manage ALM entities while maintaining previous versions of these entities.
Verify that version control is enabled for your project. For details, see Enable or disable version control for a project.
Before making changes to an entity in a version control enabled project, the entity must be checked out.
Use one of the following to check out an entity:
Automatic checkout |
When you start editing the entity, ALM displays the Check Out dialog box, enabling you to check out the entity. |
Manual checkout |
Do one of the following:
|
An entity checked out by the current user is displayed with an open green lock icon . An entity checked out by another user is displayed with a red lock icon .
When an entity is checked out, you can undo the checkout to cancel your changes.
To undo a checkout, right-click the entity and select Versions > Undo Check Out.
To undo checkouts for entities checked out by other users, you must have the appropriate user permissions. For details, see Manage user groups and permissions.
When you undo a checkout, any changes you made to non-versioned fields while the entity was checked out are not canceled and the new values remain.
When you finish making changes, check in the entity to create a new, updated version available to other users.
Use one of the following:
Check in a single entity | Right-click the entity and select Versions > Check In. |
Check in multiple entities | Select the entities. On the module toolbar, click the Check In button. |
You can view all entities in the current module that you have checked out, and check in or undo the checkout for selected entities.
Do one of the following:
-
Click Check In in the top right corner of the ALM window.
-
From a module menu bar, select Versions > Pending Check In.
Compare two versions of an entity
In a version control enabled project, you can compare two versions of an entity.
To compare two versions of an entity, select the entity, click the History > Versions tab, select two versions, and click Compare.
Copy, move, or delete checked-out entities
Consider the following guidelines when moving, copying, or deleting entities that are checked out.
For a single entity
Description |
Cut/Paste or Move |
Copy/Paste |
Delete |
---|---|---|---|
Entity checked out by current user |
|
|
|
Entity checked out by another user |
|
The current, checked-in version is pasted. |
|
For a folder that contains several entities
Cut/Paste or Move |
Copy/Paste |
Delete |
---|---|---|
|
All entities in folder must be checked in. |
All entities in the folder must be either checked in, or checked out by current user. |
For several entities (multi-select)
Cut/Paste or Move |
Copy/Paste |
Delete |
---|---|---|
All selected entities must be either checked in, or checked out by current user. |
All selected entities must be checked in. |
All selected entities must be either checked in, or checked out by current user. |
Version control fields
The following table list the version control fields available in the ALM modules.
Field |
Description |
---|---|
Version Date |
The date of the last action (check in or check out) performed for the version. Available to the Test Plan module only. |
Version Check Out Date |
The date the version was checked out. Not available to the Test Plan or Test Resources module. |
Version Check Out Time |
The time the version was checked out. Not available to the Test Plan or Test Resources module. |
Version Checked Out By |
The name of the user who checked out the version. Not available to the Test Resources module. |
Version Number |
The version number assigned to a new entity is |
Version Status |
The status of the version (Checked Out or Checked In). Not available to the Test Resources module. |
Version Owner |
The name of the user who performed the last action (check in or check out). Available to the Test Plan module only. |
Version Time |
The time of the last action (check in or check out) performed for the version. Available to the Test Plan module only. |
Filter by version control fields
You can filter ALM data to display only checked-out entities in the Requirements, Business Models, Test Plan, Test Resources, and Test Lab modules.
The following table describes how to set the filter conditions:
Filter Description |
Filter Conditions for the Test Plan Module |
Filter Conditions for All Other Modules |
---|---|---|
Display all entities that you have checked out |
Version Status=Checked Out and Version Owner=<your user name> |
Version Checked Out By=<your user name> |
Display all entities checked out by another user |
Version Status=Checked Out and Version Owner=<other user's user name> |
Version Checked Out By=<other user's user name> |
For details on defining filters, see Filter dialog box.
Non-versioned fields
When you are working with version control, changes made to the following fields are not stored in previous versions of the entities:
Entity |
Fields |
---|---|
Requirements |
|
Tests |
Execution Status |
Consider the following when working with non-versioned fields in a version control enabled project:
Action |
Result |
---|---|
Undo a checkout |
Any changes you made to non-versioned fields while the entity was checked out are not cancelled and the new values remain. |
Check out a previous version |
The value of a non-versioned field is the value in the currently checked in version. |
View and compare previous versions |
Non-versioned fields are displayed with the value Non-versioned Field. When viewing and comparing previous versions, pages for which version control data is not stored, such as the Linked Entities page or the Requirement Traceability page, are not displayed. |