Incomplete Change Packages
AccuRev change packages provide a powerful tool for dealing with a set of element versions as a group. However, if you do not institute and follow some best practice policies, you can encounter error messages warning of missing versions when you promote by issue. This section describes the three most common causes of these warnings, how to correct them, and how to avoid them in the future.
The formal definition of an incomplete change package is "Some of the versions of elements associated with the change package are not part of the current stream."
But what does this really mean? How did this happen? And how do you fix it? Better yet, how do you avoid getting into this situation in the first place?
There are three typical scenarios that result in incomplete change packages:
- Reuse of issues across multiple streams.
- Purge ("Revert to Basis" in the GUI) operations on individual files.
- Promote by File (instead of Promote by Issue) operations.
All three of these result in the same situation: one or more of the files in your change package will not have the correct version in the current stream.
Here is a very simple stream environment that we will use to illustrate a typical incomplete change package situation:
Assume that workspace stream_1_3_WS_1 contains three source code files:
You modify file_001.c and file_002.c to address issue #0002, and promote them from your workspace to the parent stream (stream_1_3).
Note: You must have the change package integration enabled in the Schema Editor to be prompted for an issue when you promote from a workspace. If you don’t see the Select Issue (Change Package) dialog when you promote, you need to enable the integration. See “Change-Package-Level Integration” in the AccuRev Administrator’s Guide for details.
In addition, if you have implemented support for a third-party issue tracking system (ITS), the Select Issue (Change Package) dialog displays controls that let you choose whether to submit changes against the AccuWork issue number or the third-party ITS key. See Using Third-Party Keys in the AccuRev GUIfor more information.
At this point, if you go to the Stream Browser and select Show Active Issues by right-clicking over stream 1_3, you will see issue #2 and the files that you just promoted. Make sure that Include Incomplete Issues is not checked to confirm that this is a complete change package. If you were ready to continue promoting this package up the stream hierarchy, you could do so by selecting issue #2 and clicking the Promote icon ().
This is the correct way to promote change package files higher up the stream hierarchy.
But what if somebody had performed one of the three operations listed above, which caused, for example, only the backed version of file_002.c to appear in stream_1_3?
This first thing you might notice is that the issue does not appear unless the Include Incomplete Issues checkbox is enabled. And when it is, the Promote icon is grayed out when you select issue #2, and file_002.c appears with a gray band.
For steps on how to troubleshoot and identify the cause of your incomplete change package, see How to Troubleshoot Incomplete Change Packages at the end of this section. But first, here are details about each of the three main scenarios.