Baseline consistency checks

You can enable and run baseline consistency checks to verify requests that are used to create revised baselines or request template baselines.

Enable baseline consistency checks

Baseline consistency checks enforce additional verifications on the requests that are used to create a revised baseline (CRB) or a request template baseline (CBL).

The checks ensure the following:

  • The requests used to create a baseline provide a complete set of changes.

  • Any dependent changes are not missing.

  • The changes have been fully implemented.

To enable baseline consistency checks:

  1. On your Dimensions CM server, edit the %DM_ROOT%\dm.cfg configuration file, and add the following variable:

    DM_ENABLE_BASELINECHECKS Y

  2. Restart the Dimensions listener.

Back to top

Run checks to validate the consistency of changes

When a new revised baseline or request-driven baseline is created, Dimensions CM runs following checks to validate the consistency of the changes.

Consistency check Description
Ensure all requests are at an implemented state To be accepted for use, any requests that are provided as an input when a new baseline is created must be at a frozen or closed state. Any requests that are still under work or being tested are detected and rejected.
Ensure all requests are owned by the correct project or stream

Requests that are provided as an input when a baseline is created must be one of the following:

  • Related to the project or stream from which the baseline command is being run.

  • Not be related to any project or stream.

Requests related to a different project or stream are rejected.

Ensure requests are not being reused

If you attempt to create a baseline using a request that has already contributed content to a previous baseline, the request is rejected.

This check, and others described below, consider the baseline being created as well as the chain of baselines that led to the current one.

For example, consider the following scenario:

baseline_checks_1.png

The creation of BLN003 fails because the consistency checks find that CR_21 was used in a previous baseline in the chain of baselines that leads to the one being revised (BLN003).

Ensure requests provide a consistent set of changes

To ensure that the request list represents a consistent and complete set of changes, the consistency checker validates the requests and their items against the following criteria to check that there are no requests missing:

  • For each specified request, all the related items (In Response To, Affected, or as a result of refactoring) are examined to determine if they or their predecessors are related to other requests not already specified in the create baseline command.

  • If any of those requests refer to items revisions that have not already been included in the baseline, or any of its previous baselines, the requests are displayed and the command fails.

  • For every included item, any changes that occurred after the latest change related to any specified request are ignored. For example, if a file was modified on Monday against CR_2 and renamed on Tuesday against CR_3, and you attempt to revise a baseline using CR_2, the rename (which occurred later against CR_3) is not included.

Filter item revisions

To ensure that only relevant items are considered in the consistency check, the following additional criteria are used to filter out any irrelevant items:

  • Only those item revisions that are present in the project/ stream against which the baseline command is being run are considered. Items that are not present are ignored.

  • If a revision of an item is already in the baseline being revised, or any baseline in the chain that led to the one being revised, that revision and all its predecessors are filtered out. Only items that have never been in any of the baselines, or had revisions subsequently created, are considered.

  • Items that are not in the baseline being revised, or any baseline on the chain that led to the one being revised, and are not present in the project or stream against which the baseline command is being run, are ignored.

Back to top

Override consistency checks

To override any issues identified by the consistency checks and to force the creation of a baseline, add the /FORCE qualifier to the command. This qualifier generates warnings for violated consistency checks, but the baseline is created.

To run this command, you need the privilege to override process checks.

Back to top

Example of consistency check process

The following example demonstrates the consistency check process.

Example: Ensure a consistent set of changes

baseline_checks_2.png

The change made to file2 (when a change was also made to file1) is missing unless CR_10 is included. The consistency check warns that the baseline cannot be created only using CR_11, as it is missing the dependent change made using CR_10.

Back to top

See also: