Delivers changes in a UCM development stream to the project's integration stream
ClearCase UCM (cleartool subcommand)
The deliver command lets you deliver work from your development stream to the project's integration stream. Work is delivered from your development view to an integration view. By default, the deliver operation delivers all activities that have changed since the previous deliver operation from a stream. You can also select a subset of the stream's activities for delivery.
There are 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. Cancellation returns the integration and development streams to their original state. Note, however, that after the completion phase of a deliver operation has begun, the -cancel option cannot undo the delivery.
In general, it is good practice to check in all work to your development stream before beginning a deliver operation.
The -preview option shows which activities would be delivered if you executed the deliver operation for the specified stream. Use -preview only when there is no deliver or rebase operation in progress for the stream.
Default output displays the owner, activity-selector, and title for each activity. With the -short option, only the activity-selector is displayed. The -long option displays the default output plus a list of versions that may require merging.
By default, all activities with changes since the last deliver operation are delivered. You can specify a subset of activities to deliver using the -activities option. The list of activities must be self-consistent, that is they must not depend on the inclusion of any other 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.
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.
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.
To resume a deliver operation that has been suspended, reissue the deliver command with the -resume option. Do not specify an integration view; ClearCase finds it and the deliver operation that is in progress. Specify a stream if one cannot be inferred from the view context (that is, the stream attached to the current view).
You must also specify merge options. Each invocation of the deliver operation, whether to start or resume the operation, has control of the merge options.
Resuming a deliver operation allows it to proceed through the merge phase of the delivery.
To complete a delivery that has been suspended, reissue the deliver command with the -complete option. Do not specify an integration view; ClearCase finds it. Specify a stream if it cannot be inferred from the view context (that is, the stream attached to the current view).
The completion phase of deliver checks that merges required for the deliver operation have been made and that merge conflicts have been resolved. New versions are checked in to the integration stream and a record of the deliver operation is made. Note that checking in merged versions in the integration view alone does not complete the deliver operation. You must use the -complete option.
The -complete option for a deliver operation in progress implies the -resume option. That is, if any merges are still required, it will report them and attempt the merges. If merge conflicts exist, the deliver operation is suspended.
The -force option does not remain in effect after a deliver operation is interrupted. You must include it again on the command line when you restart the deliver operation with -resume, -cancel, or -complete.
A deliver operation can be interrupted with CTRL+C or when it encounters an external error or condition that requires more information. Reissue the deliver command with the -cancel option to end the deliver operation and return work areas to their previous state.
On UNIX platforms, to use a snapshot view as an integration view for a deliver operation, the view storage directory must be in the default location in the snapshot directory.
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 integration stream's replica's site.
The deliver -status command reports which development streams have a remote deliver operation in progress. Using this information, the project integrator can then cancel, or continue the deliver operation, using the -cancel option to halt the deliver operation and return the development stream to its previous state, or the -resume and -complete options alone or in combination 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 add, remove, or create baselines; add or remove components; rebase the development stream; or post another deliver operation.
Permissions Checking: None apply.
Locks: An error occurs if there are locks on any of the following objects: development stream, UCM project VOB.
Mastership: Streams must be locally mastered.
INVOKING THE GRAPHICAL USER INTERFACE: Default. Nongraphical interface.
SPECIFYING THE SOURCE AND DESTINATION FOR THE DELIVER OPERATION.
-to integration-view-tag
Specifies a view attached to the integration stream for the development stream's project.
PREVIEWING THE RESULTS OF A DELIVER OPERATION. Default: Displays a short listing.
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 for delivery. If the -activities option is not specified, versions in the change sets of all changed activities in the stream are delivered.
REPORTING THE STATUS OF A DELIVER OPERATION. Default: The -status option.
RESTARTING A DELIVER OPERATION.
CANCELING A DELIVER OPERATION.
MERGE OPTIONS. 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. Merge options do not remain in effect after a deliver operation is interrupted. You must include them again on the command line when you resume the deliver operation.
You can specify the following options to modify the merge operation. These work just as they do in the findmerge command.
COMPLETING THE DELIVERY. Default. None.
Examples including 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 command interpreter prompt. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt. In Attache, cmd-context represents the workspace prompt.
cmd-context deliver -to java_int
Changes to be DELIVERED:
FROM: stream "java_dev"
TO: stream "java_int"
Using integration view: "java_int".
Do you wish to continue with this deliver operation? [no] yes
Needs Merge "/view/java_int/vobs/parser/myfile.c" [(automatic) to /main/java_int/1 from /main/java_int/java_dev/1 (base also /main/java_int/1)]
Checked out "/view/java_int/vobs/parser/myfile.c" from version "/main/java_int/1".
Attached activities:
activity:deliver.java_dev.19990917.140443@/vobs/core_projects
"deliver java_dev on 09/17/99 14:04:43."
Needs Merge "/view/java_int/vobs/parser/myfile.c" [to /main/java_int/CHECKEDOUT from /main/java_int/java_dev/1 base /main/java_int/1]
Trivial merge: "/view/java_int/vobs/parser/myfile.c" is same as base "/view/java_int/vobs/parser/myfile.c@@/main/java_int/1".
Copying "/view/java_int/vobs/parser/myfile.c@@/main/java_int/java_dev/1" to output file.
Moved contributor "/view/java_int/vobs/parser/myfile.c" to "/view/java_int/vobs/parser/myfile.c.contrib".
Output of merge is in "/view/java_int/vobs/parser/myfile.c".
Recorded merge of "/view/java_int/vobs/parser/myfile.c".
Deliver has merged
FROM: stream "java_dev"
TO: stream "java_int"
Using integration view: "java_int".
Build and test are necessary in integration view "java_int"
to ensure that the merges were completed correctly. When build and
test are confirmed, run "cleartool deliver -complete".
cmd-context deliver -f -complete
Resume deliver
FROM: stream "java_dev"
TO: stream "java_int"
Using integration view: "java_int".
Deliver has completed
FROM: stream "java_dev"
TO: stream "java_int"
Using integration view: "java_int".
cmd-context deliver -stream java_dev_1234@javaproj_pvob -status
cmd-context deliver -stream java_dev_1234@javaproj_pvob -cancel
checkin, checkout, findmerge, rebase, setactivity
|
Feedback on the documentation in this site? We welcome any comments!
Copyright © 1999 by Rational Software Corporation. All rights reserved. |