chstream

Modifies a UCM stream

Applicability

Product

Command type

VersionVault

cleartool subcommand

VersionVault Remote Client

rcleartool subcommand

Platform

UNIX®

Linux®

Windows®

Synopsis

  • VersionVault: Modify a stream:
    chstream [ –c/omment comment | –cfi/le pname | –cq/uery
    | –cqe/ach | –nc/omment ]

    [ –tar/get stream-selector | –nta/rget ] [ –gen/erate ]

    [ –pol/icy policy-keyword[,... ]] [ –npo/licy policy-keyword[,...] ]

    [ –rec/ommended { baseline-selector[,...] | –def/ault }

    | –nre/commended ] [ -deliver_to integration-view-tag ]

    { stream-selector ... | –cvi/ew }

  • VersionVault: Modify an integration stream template:
    chstream –template [ –c/omment comment | –cfi/le pname | –cq/uery
    | –cqe/ach | –nc/omment ]

    [ –pol/icy policy-keyword[,... ]] [ –npo/licy policy-keyword[,...] ]

  • VersionVault Remote Client: Modify a stream:
    chstream [ –c/omment comment | –cq/uery
    | –cqe/ach | –nc/omment ]

    [ –amodcomp component_selector[,... ]] [–dmodcomp component_selector[,... ]]

    [ –pol/icy policy-keyword[,... ]] [ –npo/licy policy-keyword[,...] ]

    [ –rec/ommended { baseline-selector[,...] | –def/ault }

    | –nre/commended ] [ -deliver_to integration-view-tag ]

    { stream-selector ... | –cvi/ew }

  • VersionVault and VersionVault Remote Client: Make modifiable a component that the project defines as nonmodifiable:
    chstream –amodcomp component_selector[,... ]
  • VersionVault and VersionVault Remote Client: Make nonmodifiable a component that has been made modifiable by chstream –amodcomp:
    chstream –dmodcomp component_selector[,... ]

Description

The chstream command allows you to set stream policies, specify the default deliver target for integration streams, and set recommended baselines.

For information about changing the stream's name, see rename.

Rules for recommending a baseline

You can recommend a baseline for a stream if the baseline is from the stream or the stream's foundation.

For a baseline not from the stream or the stream's foundation, the following rules apply:

  • The baseline must be an ancestor of the stream's foundation baseline and must have been created on the same stream as the foundation baseline.
  • The baseline must be contained in the stream, which means the baseline has been delivered to the stream, or the stream has rebased to the baseline or one of its descendants.
  • The baseline must contain the current recommended baseline, which means it must be a descendant of the current recommended baseline.

You are not required to recommend a baseline for every component in the stream's configuration.

You can clear the list of recommended baselines. Doing this step alone will cause problems when existing development streams rebase to the recommended baselines. The rebase operation will attempt to drop all baselines in the development streams' configuration. This operation will probably fail or produce errors and is, therefore, not desirable.

You can choose to reset the recommended baselines to baselines from the stream or the stream's foundation with or without clearing the recommended list. This allows the stream to return to a known correct state after being changed inadvertently to a bad list. However, if a baseline is recommended and later removed, you must clear the recommended list before you can set new recommended baselines.

Restrictions

Identities

You must have one of the following identities:

  • Project VOB owner
  • Stream owner
  • root (UNIX® and Linux®)
  • Member of the VersionVault administrators group (VersionVault on Windows® only)

Setting the stream policy POLICY_CHSTREAM_UNRESTRICTED skips the permission checking. For more information, see the mkstream reference page.

Locks

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

Mastership

(Replicated VOBs only) Your current replica must master the stream.

Options and arguments

Event records and comments

Default
Creates one or more event records, with commenting controlled by your .versionvault_profile file (default: –nc). See the comments reference page. Comments can be edited with chevent.
–c/omment comment | –cfi/le comment-file-pname |–cq/uery | –cqe/ach | –nc/omment
Overrides the default with the option you specify. See the comments reference page.

Setting the default deliver target for integration streams only

Default
None.
–tar/get stream-selector | –ntarget
Specifies the default deliver stream of an integration stream. The target must be a stream in a different project.

Using –ntarget clears the default deliver stream setting.

stream-selector is of the form: [stream:]stream-name[@vob-selector] where vob-selector is the project VOB of a different project.

Updating the stream's copy of the config spec

Default
None.
–gen/erate
Forces an update of the stream's copy of the config spec. Use this option after renaming the label type of a baseline, after renaming the branch type of a stream, and after adding modifiable components to a project.

Setting stream policy

Default
None.
–pol/icy policy-keyword[,... ]
Enables the specified policy. For information about stream policies, see mkstream.
–npo/licy policy-keyword[,... ]
Disables the specified policy. For information about stream policies, see mkstream.

Setting recommended baselines

Default
An integration stream's default recommended baselines are its foundation baselines. A development stream has no default recommended baselines.
–rec/ommended { baseline-selector[,...] | –def/ault } | –nre/commended
Names a list of baselines that a stream recommends. You must always specify the full list of recommended baselines to change the list. With composite baselines, you may need to name only one baseline.

baseline-selector is of the form [baseline:]baseline-name[@vob-selector], where vob-selector specifies the baseline's project VOB.

Using the –default option sets recommended baselines by computing the set of baselines that meet the promotion level specification; they are the latest baselines created in the stream at or above the specified promotion level for each component, or its foundation baseline if none has been created in the stream.

Using the –nrecommended option clears the list of recommended baselines previously set in a stream.

Setting default deliver target view

Default
None.
-deliver_to integration-view-tag
Specifies a view attached to the deliver target stream in the same project or in a different project.

Specifying the stream

Default
None.
stream-selector ...
Specifies one or more streams to be modified.

stream-selector is of the form [stream:]stream-name[@vob-selector], where vob-selector specifies the stream's project VOB.

You can specify the stream as a simple name or as an object selector of the form [stream]:name@vob-selector, where vob-selector specifies a project VOB (see the cleartool reference page). If you specify a simple name and the current directory is not a project VOB, then this command assumes the stream resides in the project VOB associated with the current view. If the current directory is a project VOB, then that project VOB is the context for identifying the stream.

–cvi/ew
Specifies the stream connected to the current view to be modified.

Modifying an integration stream template

You can modify which policies are set by the integration stream template. Specify the –template option to work with the stream template. You must use the chstream command from the steam's project VOB directory and have administrator privileges.

–template
Modifies the integration stream template for the local project VOB. Each project VOB can have one integration stream template.

Changing the modifiability of a nonmodifiable component

For testing purposes, you can temporarily change the modifiability of a component that the project defines as nonmodifiable. Follow these guidelines when using this feature:
  • After completing your testing tasks, return the modifiable component to its original nonmodifiable state.
  • Cancel any checkouts in that component.
  • Do not change the modifiability of the component for a stream that has child streams. Similarly, do not spawn child streams from a stream that has a stream-modifiable component. (Deliver operations from such child streams may produce unexpected results should the modifiability later be changed at the project level.)
  • If the stream has stream-modifiable components, do not run the command chstream –generate from a VersionVault client that is running a release that does not support the stream modifiable feature. That command will result in reversion of the config spec and of the modifiability of the component.
  • Do not create a branch type or label type with a name of the form, stream_name_nonmod.
  • Do not change the name of the stream that has stream-modifiable components (note that the branch type name is associated with the stream name).
  • As a rule, do not perform rebase or deliver operations for a stream with per-stream modifiable components.
  • If the stream-modifiable component is made modifiable at the project level, then you must run chstream –dmodcomp to revert to the stream's UCM branch type.
–amodcomp
Makes the specified component modifiable by creating a Base VersionVault (that is, non-UCM) branch named stream_name_nonmod and associating it with the stream-modifiable component. Checkout operations are performed on the Base VersionVault branch and changes made on that branch are not included in any UCM activity change set. You cannot change the modifiability of a component in these circumstances:
  • The project already defines the component as modifiable.
  • The component is an integration stream component.
–dmodcomp
Makes the specified component nonmodifiable.
component-selector
Identifies the component that is to be made modifiable or nonmodifiable.

component-selector is of the form [component:]component-name[@vob-selector] where vob is the component's UCM project VOB.

If no vob-selector is given, the component is created in the project VOB if it contains the current working directory; otherwise, the component is not created.

The component name must be unique within the PVOB; otherwise, an error results.

Examples

The UNIX system and Linux 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 system and Linux shells or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt.

  • Set stream policy for lli_UNIT.TEST.

    cmd-context chstream –pol POLICY_CHSTREAM_UNRESTRICTED -cview
    Updated policies on stream "lli_UNIT.TEST".