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.

Back to top

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.

Back to top

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.

Prerequisites

Verify that version control is enabled for your project. For details, see Enable or disable version control for a project.

Check out an entity

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:

  • Right-click an entity and select Versions > Check Out.

  • Select an entity and click the History > Versions tab. Select a version and click Check Out.

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 .

Undo a checkout

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.

Check in an entity

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.

View all checked out entities

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.

Back to top

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 1. When an entity is checked in, the version number is increased by one.

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.

Back to top

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.

Back to top

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

  • Reviewed

  • Direct Cover Status

  • Target Release

  • Target Cycle

  • All RBQM fields.

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.

Back to top