About the deliver operation

The deliver operation makes work done in one stream available to another stream. Typically, you deliver work from your development stream to a default deliver target, which is usually your parent stream.

Work is delivered in the form of activities or baselines. The Diff Merge tool resolves differences between versions that are already part of the target stream of the deliver operation and versions that are being delivered.

You should prepare your work area. Versions associated with an activity or baseline must be checked in to be delivered. Also note that only activities that have been modified since the last deliver operation from the source stream are considered for delivery.

After you prepare your work area, you can start the deliver operation.

A deliver operation consists of the following phases:

  • Preview the delivery. Lists activities or baselines in the stream with undelivered work.
  • Begin delivery. Depending on the policies for the project, you can choose to deliver work by specifying one or more activities to be delivered or by specifying one or more baselines and their associated activities be delivered.
    • Delivering activities. This phase identifies activities that are candidates for delivery and checks that they have been modified since the last deliver operation from this stream and that the versions being delivered are checked in to the development stream.
    • Delivering baselines. This phase identifies baselines to be used by the deliver operation.
  • Merge versions. Merges versions in the change sets of your activities in your development view to versions in the target view. The deliver operation checks out each element in the integration view. It maintains the status of the checkouts in the Details list in the Delivering to View window. If an element cannot be checked out, it marks the element status in the Details list with an error, marks its checked-out status as No, and skips that element.

    If the operation finds a version whose element has a mergetype of user, you see a window in which you must choose the way to handle the version.

    If the deliver operation cannot check out a version, the merge cannot be done. You must fix the error condition. Use the element log to help diagnose the error. Because team members on a project can deliver work concurrently, you may have to wait for the element to be checked in (when another deliver operation finishes).

    For checked-out elements, the deliver operation merges directories and files as needed. As it merges versions, it updates with Yes the value in the Merged column in the Details list. If there is a conflict between the versions in your development view and versions in the integration view, No appears in the Merged column. If the version is a text file, the Diff Merge tool starts so that you can resolve the conflicting differences. If the version is an XML file, XML Diff Merge starts. If you resolve conflicts, the Merged status changes to Yes.

    Merges are complete when the Merged status is Yes for all versions.

  • Test changes. When all elements are merged, you see a Merge Complete window. Test the changes in the integration view.
  • Complete delivery. After you test the changes, you explicitly complete the delivery. This phase verifies merges, checks in changes in the target stream, performs general housekeeping tasks, and places the deliver status in the Complete state.