rebase

Changes the configuration of a UCM stream

APPLICABILITY


Product

Command Type

ClearCase


cleartool subcommand


ClearCase LT


cleartool subcommand



Platform

UNIX


Windows


SYNOPSIS

rebase -gr·aphical [ -vie·w rebase-view-tag ]
rebase { -can·cel | -sta·tus [ -l·ong ] } [ -vie·w rebase-view-tag ]
rebase -pre·view [ -s·hort | -l·ong ] [ -vie·w rebase-view-tag ]

{ -rec·ommended | { -bas·eline baseline-selector [,...] -dba·seline baseline-selector [,...] } }
rebase

{ -rec·ommended | { -bas·eline baseline-selector [,...] -dba·seline baseline-selector [,...] } }
[ -vie·w rebase-view-tag ] [ -com·plete ] [ -gm ·erge | -ok ] [ -q·uery | -abo·rt | -qal·l ]
[ -ser·ial ] [ -f·orce ]
rebase { -res·ume | -com·plete } [ -vie·w rebase-view-tag ]

[ -gm·erge | -ok ] [ -q·uery | -abo·rt | -qal·l ] [ -ser·ial ] [ -f·orce ]

DESCRIPTION

The rebase command reconfigures a stream by adding, dropping, or replacing one or more of the stream's foundation baselines. The file and directory versions selected by those new baselines (and thus their associated activities) then become visible in the stream's views.

Only labeled baselines can serve as foundation baselines.

Any changes made in the stream prior to a rebase operation are preserved during the rebase. For any file modified in the stream, rebase merges any changes that are present in versions of that file in the new foundation baselines into the latest version of that file in the stream, thereby creating a new version. All such merged versions are captured in the change set of an integration activity that rebase creates. This integration activity becomes the view's current activity until the rebase operation is completed or canceled.

You must perform a rebase operation in a view belonging to the stream that is being rebased. Before starting the rebase operation, check in all files in that view. This way, you avoid potential problems caused by rebase merging changes into an already-checked out file-rebase cannot reliably unmerge those changes should you cancel the rebase operation.

As a rule, you should rebase development streams often to pick up changes in the project's recommended baselines. By doing so you can find integration problems early, when they are easier to fix. In addition, rebasing just before performing a deliver operation should reduce or eliminate the need for manual merging during the delivery.

Rules for Development Streams

A development stream can only be rebased to baselines that were created in its project's integration stream, or that serve as the integration stream's foundation baselines. This rule ensures that changes made in the development stream are based on the same line of development as the rest of its project's streams.

rebase is typically used to advance a stream's configuration; that is, to replace its current foundation baselines with more recent ones. However, you can also use rebase to:

You cannot revert or drop a component that has been modified (that is, new versions have been created) in the development stream. Without this rule, rebase could potentially leave stranded the changes made against baselines that are no longer in the stream's configuration.

rebase allows different baselines to be moved in different directions-you can advance one baseline while reverting another.

Rules for Integration Streams

An integration stream can only be rebased to baselines created in other projects' integration streams (not development streams), or to import or initial baselines. See the mkcomp and mkbl reference pages for information about import and initial baselines.

Just as for development streams, rebase can advance or revert baselines in an integration stream's configuration, and add or drop components. It can also switch to another baseline that originates from a project different from the current foundation baseline; that is, a baseline that is neither an ancestor nor a descendant of the current foundation.

You cannot revert, switch, or drop baselines for components that are in the project's modifiable component list. This rule prevents rebase from leaving stranded the changes made to those components in the integration stream, as well as in the project's development streams.

RESTRICTIONS

Identities: No special identity required.

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

Mastership: The current replica must master the development stream.

OPTIONS AND ARGUMENTS

INVOKING THE GRAPHICAL USER INTERFACE. Default: Command-line interface.

-gr·aphical

Invokes the graphical user interface for the rebase operation.

SPECIFYING THE REBASE VIEW. Default: The current working UCM view.

-vie·w rebase-view_tag

Specifies the UCM view in which to execute the rebase command. The view must be associated with a UCM stream that is the stream to be rebased.

CANCELLING A REBASE OPERATION.

-can·cel
Cancels a rebase operation and restores the stream's prior configuration. The option deletes the integration activity and any versions created by the rebase operation that are not yet checked in.
If any new versions have been checked in, the cancellation is halted and you are informed of completed merges and any checked in versions that resulted from the rebase activity. After undoing the merges and check-ins, you must issue the rebase -cancel command again to cancel the rebase operation.

OBTAINING THE STATUS OF A REBASE OPERATION.

-sta·tus

Displays the status of a rebase operation. You are informed whether a rebase operation is in progress in the specified stream; and if so, this option displays the new foundation baselines and the list of new activities being brought into the stream.

PREVIEWING THE RESULTS OF A REBASE OPERATION.

-pre·view

Shows what baselines would change and what new activities would be brought into the stream if a rebase operation were to be executed in nonpreview mode. -preview fails if a rebase operation is in progress.
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, displays a list of activities and change sets, and a list of elements that will require merging, in addition to the default information displayed by -status.
As a modifier of -preview, displays a list of versions that potentially require merging, in addition to the default information displayed by -preview.
-s·hort

Modifies the -preview option. Displays only a list of the activities.

SPECIFYING BASELINES. Default: None.

-rec·ommended

Specifies that a development stream is to be rebased to its project's recommended baseline
-bas·eline baseline-selector[,...]

Specifies one or more baselines to use as new foundation baselines for the stream. See Rules for Development Streams and Rules for Integration Streams for criteria for specifying baselines.
baseline-selector is of the form: [baseline:]baseline-name[@vob-selector] and vob is the baseline's UCM project VOB.
-dba·seline baseline-selector[,...]

Specifies one or more baselines to remove from the stream's configuration. Files in those baseline's components are subsequently no longer visible or modifiable in the stream. See Rules for Development Streams and Rules for Integration Streams for criteria for specifying baselines.
baseline-selector is of the form: [baseline:]baseline-name[@vob-selector] and vob is the baseline's UCM project VOB.

RESUMING A REBASE OPERATION. Default: None.

-res·ume

Restarts a rebase operation from the point at which it has been suspended. A rebase operation can be interrupted with CTRL+C or when it encounters an external error or condition that requires more information. To continue the operation, reissue the rebase command with the -resume option. However, you cannot resume a rebase operation that has been successfully halted with the -cancel option.

COMPLETING A REBASE OPERATION. Default: None.

-com·plete

Completes a rebase operation. Checking in merged versions in the development view does not complete the rebase operation-you must use -complete to complete a rebase operation. You can use this option after a rebase has been suspended, for example, to resolve file conflicts. It resumes the command process, verifies that needed merges were done, checks in any versions that are checked out, and records changes in the change set for the rebase activity.

MERGE OPTIONS. Default: 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.

-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 rebase operation is interrupted.
-gm ·erge

Performs a graphical merge for each element that requires it. This option does not remain in effect after a rebase operation is interrupted.
-q·uery

Turns off automated merging for nontrivial merges and prompts you to proceed with every 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 rebase operation is interrupted.
-abo·rt

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

Turns off all automated merging. Prompts you to determine whether you want to proceed with each change. This option does not remain in effect after a rebase operation is interrupted.
-ser· ial

Reports differences with each line containing output from one contributor, instead of in a side-by-side format. This option does not remain in effect after a rebase operation is interrupted.

CONTROLLING COMMAND-LINE PROMPTS. Default: Prompt for user input.

-f·orce

Suppresses prompting for user input during the course of a rebase operation. The -force option does not remain in effect if the rebase is interrupted: you must respecify it when you restart the rebase operation with -resume or -complete. The merge options to the rebase 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.

SEE ALSO

checkin, checkout, deliver, findmerge, setactivity