Performing a Deliver Operation


The following sections guide you through the various phases of a deliver operation.

Phase 1: Preparation and Preview

In this phase you prepare your work area and preview the activities to be delivered. Activities represent units of work you have completed. You start by first listing the activities in your development stream that represent work that has yet to be delivered to the integration stream.

You prepare your work area as follows:

  1. If your project manager has created a new recommended baseline since you last rebased, you must first rebase your development area.
  2. Rebasing your work area is a multistep process similar to the deliver process described in detail in the module Rebasing Your Private Work Area.

  3. If your integration view is a snapshot view, you must first update it and resolve any hijacked files.
  4. Hijacked files are files in your view that were under ClearCase control before you changed the file’s read-only attribute and modified the file without first checking it out. Hijacking files can only occur when working in snapshot views. Because hijacking files creates a potential for conflicts, we strongly recommend that you first check out the files you need to modify.

    After a file is hijacked, it is no longer under ClearCase control. However, ClearCase detects the hijacking because the file was under its control at one point in time.

    To update your snapshot view, you use the Update tool.

    • On Windows, you can start the Update tool from the ClearCase Explorer, by selecting the root directory of your snapshot view, right-clicking, and then selecting Update View from the shortcut menu.
    • On UNIX, you can use the update command to start the Update tool:
    • cleartool update -graphical

      This command applies only to dynamic views.

      The Update tool enables you to preview an update without actually performing the update.

      After you have set the options in the Update tool, click OK to start the update operation.

      ClearCase begins the update operation and displays a progress indicator. When the update is complete, the Snapshot View Update window displays a categorized list of the actions taken to update the view.

  5. Lastly, find, compare, and check in the work you want to deliver.
  6. At this point, if there are any hijacked files, you need to resolve any issues related to the hijacking of the files.

    Also, you need to make sure that all the files ready for delivering are checked in. Now you are ready to start the deliver operation.

Phase 2: Starting to Deliver

Next, you start the deliver operation. The deliver operation is a multistep process where you start to deliver, and re-test the work you delivered with the latest version of the work of your team members. This testing can uncover conflicts that you need to resolve. When all is in order, you then complete the deliver operation.

When you start the deliver operation, you choose to deliver your work by specifying one or more activities or baselines to be delivered. You also select to which target stream to deliver: the default stream or an alternate stream.

If you choose to deliver work that is associated with activities, the deliver operation does the following:

  1. Identifies activities that are candidates for delivery.
  2. Checks that these activities have been modified since the last deliver operation from your development stream.
  3. Checks that the versions being delivered are checked in to the development stream.

If you choose to deliver a baseline, the deliver operation identifies the baselines to be used by the deliver operation.

You start the deliver operation from the Project Explorer or the CLI.

Using the Project Explorer, one way to start the deliver operation is the following:

  1. Right-click the root directory of your development view.
  2. From the shortcut menu, select either Deliver from stream to default or Deliver from stream to alternate target.
  3. The following example shows the Deliver from Stream Preview dialog box listing two activities that are still to be delivered.



    ClearCase found that the two activities created in previous exercises were not delivered.

    All other information, namely the project, the stream, and the view where the activities will be delivered, is correct.

  4. Click OK.
  5. ClearCase starts the deliver operation and displays progress information.



    This point in the deliver process does not indicate the deliver operation is complete. You have reached a point where you can verify if the newly created version of the files will enable you to perform a successful test build before completing the deliver operation. If not, you can now make the necessary corrections.

Phase 3: Merging Differences

After you have determined what you will deliver to the integration stream, the deliver operation moves into the merge phase.

In this phase, the deliver operation compares the versions being delivered from the development stream with their counterparts in the target integration stream and invokes the ClearCase Merge Manager as needed.

The ClearCase Merge Manager automatically resolves trivial differences. Trivial differences are those that can be resolved without your manual intervention.

For nontrivial differences, ClearCase Merge Manager prompts you to resolve them manually when the merging occurs.

For learning about the merge operation and working in the Merge Manager, go to the Merging Your Work module.

Phase 4: Testing Your Work

Before completing the deliver operation, you must first test the accuracy of your work against the work of your team members.

In the testing phase, you ensure that the work you are about to deliver will not cause any build failures.

If you encounter build issues, you must first resolve them. However, to do so does not require you to cancel the deliver operation that you started. You may need to check out more files in your integration view to resolve build conflicts. However, you don’t want to check them back in until you complete the deliver operation.

Phase 5: Completing the Delivery

After you have made sure that the work you deliver is error-free, you are then ready for the final phase, namely to complete the deliver operation.

During this phase, the deliver operation verifies the merges, checks in the changes in the target integration stream, and performs general housekeeping tasks.