Guidelines for making baselines
To ensure that developers stay in sync with each other's work, make new baselines regularly. A new baseline includes the work developers have delivered to the integration stream since the last baseline. If your project uses feature-specific development streams, perform this task on those streams as well as on the integration stream. In some environments, the lead developer working on a feature may assume the role of integrator for a feature-specific development stream.
In making a new baseline, you should follow a specific workflow that prevents developers from delivering work while you create the baseline and verifies the stability of the components. After your team of software quality engineers determines that new baseline is stable, make the baseline the recommended baseline. Developers then update their work areas with the new baseline by performing a rebase operation, which merges files and directories from the integration stream or feature-specific development stream to their development streams.
You have the following choices in making a baseline.
- An incremental baseline is a baseline that is created by recording the last full baseline and those versions that have changed since the last full baseline was created.
- A full baseline is a baseline that is created by recording all versions below the component root directory.
Generally, it takes less time to create an incremental baseline. However, it takes less time to look up the contents of a full baseline.
Making baselines
You can make a new baseline as follows:
- For all components in a stream
- For a set of activities
By default, all activities modified since the last baseline was made are included in the new baseline. There might be times when you want to create a baseline that includes only certain activities.
- Of one component
Baseline labels
Baselines can be unlabeled, incrementally labeled, or fully labeled. Only labeled baselines can be used to configure streams. After baseline labels are applied, they cannot be moved. Baselines created during integration activities are unlabeled. A baseline must be fully labeled for it to be delivered.
You can change the labeling status of a baseline.
Promotion levels
Promotion levels must be defined in the project VOB in which a baseline resides before they can be applied to baselines. They are stored in a PVOB as an ordered list, from lowest to highest. A promotion level can be assigned to a baseline to indicate the quality or degree of completeness of the activities and versions represented by the baseline.
When a PVOB is created, it includes a default ordered set of promotion levels. A newly created baseline is assigned a default promotion level. You can redefine the list of promotion levels for a PVOB and designate one of these levels as the default promotion level for new baselines.