deliver

Delivers changes in a UCM development stream to the project's integration stream

APPLICABILITY


Product

Command Type

ClearCase


cleartool subcommand


ClearCase LT


cleartool subcommand



Platform

UNIX


Windows


SYNOPSIS

deliver -g·raphical [ -str·eam stream-selector ] [ -to integration-view-tag ]
deliver { -can·cel | -sta·tus [ -l·ong ] } [ -str·eam stream-selector ]
deliver -preview [ -s·hort | -l·ong ] [ -str·eam stream-selector ] [ -to integration-view-tag ]

[ -act·ivities activity-selector ... ]
deliver [ -str·eam stream-selector ] [ -to integration-view-tag ] [ -act·ivities activity-selector[,...]] [ -com·plete ] [ -gm·erge | -ok ] [ -q·uery | -abo·rt | -qal·l ] [ -ser·ial ] [ -f·orce ]
deliver { -res·ume |-com·plete } [ -str·eam stream-selector ] [ -gm·erge | -ok ]

[ -q·uery | -ab·ort | -qal·l ] [ -ser·ial ] [ -f·orce ]

DESCRIPTION

The deliver command lets you deliver work from your development stream to the project's integration stream. Work is delivered from your development stream to an integration view. There may be several steps to delivering work:

If a deliver operation is interrupted through a system interrupt or user action, you must explicitly resume or cancel the deliver operation.

In general, it is good practice to check in all work to your development stream before beginning a deliver operation.

The Integration Activity

The deliver operation creates a UCM activity called the integration activity, which records a change set for the deliver operation. The activity name is of the form deliver.stream-name.date-stamp. When the deliver operation begins, the integration activity becomes the current activity for the integration view in use.

One-Step Deliver Operation

You can deliver your work in one step by specifying the -complete and -force options. The -force option suppresses prompting for user input during the deliver operation. The -complete option causes the deliver operation to continue to completion after the merge phase. Use this feature carefully to avoid the possibility of delivering merged files that may not compile.

Using deliver with MultiSite

The deliver command determines whether the integration stream and development stream are mastered at different replicas. If they are, a remote deliver operation is put into effect. The development stream is assigned a posted status.

After the stream is in the posted state, the deliver operation can be continued only by someone working at the integration stream's replica. Generally, this is the team's project integrator. Also, once posted, the deliver operation can be canceled only by a user at the replica where the integration stream resides.

The deliver -status command reports on any remote deliver operation in progress for the specified stream. Using this information, the project integrator can then cancel or continue the deliver operation, using the -cancel option to halt the deliver operation, or the -resume or -complete options to continue the deliver operation.

You can create activities and perform checkins and checkouts for your development stream while the remote deliver is in process. However, you cannot perform any of the following operations while a remote deliver operation is in progress:

RESTRICTIONS

Identities: No special identity required.

Locks: An error occurs if there are locks on any of the following objects: the development stream, the UCM project VOB.

Mastership: The current replica must master the development streams.

OPTIONS AND ARGUMENTS

INVOKING THE GRAPHICAL USER INTERFACE: Default. Nongraphical interface.

-g·raphical

Invokes the graphical user interface for deliver.

SPECIFYING THE SOURCE AND DESTINATION FOR THE DELIVER OPERATION. Default: The source is the stream attached to the current view. The default destination is the integration stream of the development stream's project, using either a view attached to the integration stream owned by the current user, or the integration view used by the last deliver operation executed by the current user.

-stre·am from-stream-selector

Specifies a development stream that is the source for the deliver operation.
stream-selector is of the form: [stream:]stream-name[@vob-selector] and vob is the stream's UCM project VOB.
-to integration-view-tag

Specifies a view attached to the integration stream for the development stream's project.

CANCELLING A DELIVER OPERATION. Default: None.

-can·cel

Halts a deliver operation in progress, returning the source and destination streams to their states before the deliver operation began. However, this option cannot undo a deliver operation after the completion phase has begun.
Also use -cancel when a deliver operation is interrupted with CTRL+C or when it encounters an external error or condition that requires more information.

OBTAINING THE STATUS OF A DELIVER OPERATION. Default: None.

-sta·tus

Displays the status of a deliver operation. You are informed whether a deliver operation is in progress for the specified stream, whether the deliver is to a local stream or a remote stream, and, in the case of a remote deliver, whether the posted deliver has been merged with the integration stream.

PREVIEWING THE RESULTS OF A DELIVER OPERATION. Default: For each activity that would be delivered, displays the owner, activity-selector, and title.

-pre·view

Shows activities that would be delivered if you were to execute the deliver operation for the specified stream. These are any activities that have changed since the last deliver operation from this stream. Use -preview only when there is no deliver operation in progress for the stream.
CONTROLLING OUTPUT VERBOSITY. Default: Varies according to the kind of output that the options described here modify: see the descriptions of -status and -preview.
-l·ong

As a modifier of -status or -preview, displays a list of versions that may require merging, in addition to the default information displayed by -status or -preview.
-s·hort

Modifies the -preview option. (Currently, this option does not modify the default -preview output.)

SELECTING ACTIVITIES TO DELIVER. Default: Delivers all activities in the stream that have changed since the last deliver operation from the stream.

-act·ivities activity-selector, ...

Specifies a list of activities to deliver. The list of activities must be self-consistent: they must not depend on the inclusion of any unspecified activities. For example, activity A2 is dependent on activity A1 if they both contain versions of the same element and A2 contains a later version than A1. Additionally, any activities that have been included in baselines but not delivered must also be delivered if there are changes for that component in the specified activities. If the list of activities you specify is incomplete, the additional required activities are listed and the operation fails.
activity-selector is of the form: [activity:]activity-name[@vob-selector] where vob is the activity's UCM project VOB.

RESUMING A DELIVER OPERATION. Default: None.

-res·ume

Resumes a deliver operation from the point at which it has been suspended.

COMPLETING A DELIVER OPERATION. Default: None.

-com·plete

Completes a deliver operation. Verifies that changes from the activities being delivered have been merged with versions in the project integration stream and that merge conflicts have been resolved. Checks in resulting new versions to the integration stream and records that the deliver operation has been made. If merge conflicts exist, the deliver operation is suspended.
Use this option to bring a deliver operation through the completion phase or to resume a suspended deliver operation. To complete a deliver operation, you must specify this option-checking in merged versions to the integration view alone does not complete the deliver operation.
When used for a deliver operation in progress, this option implies the -resume option-that is, deliver -complete reports any merges that are still required and attempts to resolve them.

MERGING. Default: Merging works as automatically as possible, prompting you to make a choice in cases where two or more nonbase contributors differ from the base contributor. For general information, see the findmerge reference page.

-gm·erge

Performs a graphical merge for each element that requires it. This option does not remain in effect after a deliver operation is interrupted.
-ok

Pauses for verification on each element to be merged, allowing you to process some elements and skip others. This option does not remain in effect after a deliver operation is interrupted.
-q·uery

Turns off automated merging for nontrivial merges and prompts you for confirmation before proceeding with each change in the from-versions. Changes in the to-version are automatically accepted unless a conflict exists. This option does not remain in effect after a deliver operation is interrupted.
-abo·rt

Cancels a merge if it is not completely automatic. This option does not remain in effect after a deliver operation is interrupted.
-qal·l

Turns off all automated merging. Prompts you for confirmation before proceeding with each change. This option does not remain in effect after a deliver operation is interrupted.
-ser·ial

Use a serial format when reporting differences among files. Differences are presented in a line-by-line comparison with each line from one contributor, instead of in a side-by-side format. This option does not remain in effect after a deliver operation is interrupted.

CONFIRMATION STEP. Default: Prompts for use input.

-f·orce

Suppresses prompting for user input during the course of a deliver operation. The -force option does not remain in effect if the deliver operation is interrupted. You must include it again on the command line when you restart the deliver operation with -resume or -complete. The merge options to the deliver command are not affected by the -force option.

EXAMPLES

The UNIX examples in this section are written for use in csh. If you use another shell, you may need to use different quoting and escaping conventions.

The Windows examples that include wildcards or quoting are written for use in cleartool interactive mode. If you use cleartool single-command mode, you may need to change the wildcards and quoting to make your command interpreter process the command appropriately.

In cleartool single-command mode, cmd-context represents the UNIX shell or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt. In Attache, cmd-context represents the workspace prompt.

NOTE: In the UNIX examples that follow, arguments and output that show multicomponent VOB tags are not applicable to ClearCase LT, which recognizes only single-component VOB tags. In this manual, a multicomponent VOB tag is by convention a two-component VOB tag of the form /vobs/vob-tag-leaf-for example, /vobs/src. A single-component VOB tag consists of a leaf only-for example, /src. In all other respects, the examples are valid for ClearCase LT.

Start a deliver operation using command defaults.

cmd-context deliver -to webo_integ

Changes to be DELIVERED:
FROM: stream "chris_webo_dev"
TO: stream "integration"
Using integration view: "webo_integ".
Do you wish to continue with this deliver operation? [no] yes
Needs Merge "/view/webo_integ/vobs/webo_modeler/design/foo" [(automatic) to /main/integration/1 from /main/integration/chris_webo_dev/1 (base also /main/integration/1)]
Checked out "/view/webo_integ/vobs/webo_modeler/design/foo" from version "/main/integration/1".

Attached activities:
activity:deliver.chris_webo_dev.20000606.160519@/vobs/webo_pvob "deliver chris_webo_dev on 06/06/00 16:05:19."

Needs Merge "/view/webo_integ/vobs/webo_modeler/design/foo" [to /main/integration/CHECKEDOUT from /main/integration/chris_webo_dev/1 base /main/integration/1]

Trivial merge: "/view/webo_integ/vobs/webo_modeler/design/foo" is same as base "/view/webo_integ/vobs/webo_modeler/design/foo@@/main/integration/1".

Copying "/view/webo_integ/vobs/webo_modeler/design/foo@@/main/integration/chris_we bo_dev/1" to output file.
Moved contributor "/view/webo_integ/vobs/webo_modeler/design/foo" to
"/view/webo_integ/vobs/webo_modeler/design/foo.contrib".
Output of merge is in "/view/webo_integ/vobs/webo_modeler/design/foo".
Recorded merge of "/view/webo_integ/vobs/webo_modeler/design/foo".

Deliver has merged
FROM: stream "chris_webo_dev"
TO: stream "integration"
Using integration view: "webo_integ".
Build and test are necessary in integration view "webo_integ"
to ensure that the merges were completed correctly. When build and
test are confirmed, run "cleartool deliver -complete".

SEE ALSO

checkin, checkout, findmerge, rebase, setactivity