chmaster

Transfers mastership of VOB-database object

APPLICABILITY


Product

Command type

ClearCase


cleartool subcommand


MultiSite


multitool subcommand



Platform

UNIX


Windows


SYNOPSIS

chmaster [ -c·omment comment | -cfi·le comment-file-pname | -cq·uery

| -cqe·ach | -nc·omment ]
{ master-replica-selector object-selector ...
| [ -pname ] master-replica-selector branch-or-element-pname ...
| -str·eam [ -ove·rride ] master-replica-selector stream-selector ...
| -def·ault [ -pname ] branch-pname ...
| -def·ault brtype-selector ...
| -all [ -obsolete_replica old-replica-selector ]
[ -l·ong ] [ -vie·w view-tag ] master-replica-selector
}

DESCRIPTION

This command transfers the mastership of one or more objects from one VOB replica to another. Only the current replica is affected immediately; other replicas are notified of the mastership transfers through the normal exchange of update packets.

To limit use of this command to a certain set of users, you can create triggers. For more information, see Managing Software Projects.

SPECIFYING A VIEW CONTEXT

The chmaster command requires a view context. If you are not in a set view or working directory view on UNIX or a view drive on Windows, you can specify a view on the command line, as shown in the following table. If you specify a dynamic view, it must be active on your host.

NOTE: A view you specify in the chmaster command takes precedence over your current set view, working directory view, or view drive.


Argument

How to specify a view

object-selector
brtype-selector


Use a view-extended pathname as the vob-selector portion of the argument. For example:

lbtype:LABEL1@/view/jtg/vobs/dev
brtype:v1.0_bugfix@/view/jtg/vobs/dev
lbtype:LABEL1@s:\dev
brtype:v1.0_bugfix@s:\dev


branch-pname
element-pname


Specify branch-pname or element-pname as a view-extended pathname. For example:

/view/jtg/vobs/dev/cmd.c@@
/view/jtg/vobs/dev/cmd.c@@/main
s:\dev\cmd.c@@
s:\dev\cmd.c@@\main


master-replica-selector (for the chmaster -all variant)


Use the -view option or use a view-extended pathname as the vob-selector portion of the argument. For example:

-view jtg replica:boston_hub@\dev
replica:boston_hub@/view/jtg/vobs/dev
replica:boston_hub@s:\dev


RESTRICTIONS

Identities: For all UCM objects except baselines, no special identity is required. For baselines and all other non-UCM objects, you must have one of the following identities:

Locks: Restrictions depend on the kind of object:


Object whose mastership is changing

Locks on these objects cause the chmaster command to fail

Element


Element, element type, VOB


Branch


Branch, branch type, VOB


Type object


Type object, VOB


Hyperlink


Hyperlink type, VOB


Baseline


Baseline, VOB, replica, components associated with the baseline


Stream


Stream, activity


Component


Component, VOB, replica


Mastership: Your current replica must master the object. Using both -all and -obsolete_replica overrides this restriction, but you must not use the -obsolete_replica option except in special circumstances. (See the description of the -all option.)

Other: You cannot transfer mastership of a branch if the branch is checked out reserved or if it is checked out unreserved without the -nmaster option.

OPTIONS AND ARGUMENTS

EVENT RECORDS AND COMMENTS. Default: Creates one or more event records, with commenting controlled by the standard ClearCase user profile (default: -nc). See EVENT RECORDS AND COMMENTS in the multitool reference page. To edit a comment, use cleartool chevent.

-c·omment comment | -cfi·le comment-file-pname | -cq·uery | -cqe·ach | -nc·omment

Overrides the default with the specified comment option.

SPECIFYING THE OBJECTS. Default: None.

master-replica-selector object-selector ...

Transfers mastership of objects specified with object-selector to the VOB replica specified with master-replica-selector. Specify master-replica-selector in the form [replica:]replica-name[@vob-selector]

replica-name

Name of the replica (displayed with lsreplica)

vob-selector

VOB family of the replica; can be omitted if the current working directory is within the VOB.

Specify vob-selector in the form [vob:]pname-in-vob

pname-in-vob

Pathname of the VOB-tag (whether or not the VOB is mounted) or of any file-system object within the VOB (if the VOB is mounted)


Specify object-selector in one of the following forms:

vob-selector

vob:pname-in-vob

where

pname-in-vob

Pathname of the VOB-tag (whether or not the VOB is mounted) or of any file-system object within the VOB (if the VOB is mounted)

attribute-type-selector

[attype:]type-name[@vob-selector]

branch-type-selector

[brtype:]type-name[@vob-selector]

element-type-selector

[eltype:]type-name[@vob-selector]

hyperlink-type-selector

[hltype:]type-name[@vob-selector]

label-type-selector

[lbtype:]type-name[@vob-selector]

hlink-selector

[hlink:]hlink-id[@vob-selector]

oid-obj-selector

oid:object-oid[@vob-selector]

replica-selector

[replica:]replica-name[@vob-selector]

baseline-selector

[baseline:]baseline-name[@vob-selector]

component-selector

[component:]component-name[@vob-selector]


[ -pname ] master-replica-selector branch-or-element-pname ...

Transfers mastership of the specified branches or elements to the VOB replica specified with master-replica-selector. A branch pathname takes the form element-name@@/branch..., for example, cmdsyn.c@@/main/bugfix, and an element pathname takes the form element-name@@, for example, cmdsyn.c@@. If branch-or-element-pname has the form of an object selector, you must include the -pname option to indicate that pname is a pathname.
-str·eam [ -ove·rride ] master-replica-selector stream-selector ...

Transfers mastership of the specified streams and their associated objects to the VOB replica specified with master-replica-selector. Specify stream-selector in the following form:

stream-selector

[stream:]stream-name[@vob-selector]


Use the -override option only if the chmaster -stream command fails. With -override, chmaster attempts to transfer mastership of objects whose mastership was not transferred during the original invocation of the command. For more information, see Managing Mastership in Administrator's Guide for Rational ClearCase MultiSite.
-a·ll [ -obsolete_replica old-replica-selector ] [ -l·ong ] [ -vie·w view-tag ] master-replica-selector

CAUTION: Incorrect use of the -obsolete_replica form of the command can lead to divergence among the replicas in a VOB family.
Transfers to master-replica-selector mastership of all objects that are located in and mastered by the current replica. (The chmaster command determines the current replica by using the vob-selector you specify as part of master-replica-selector. If you do not include a vob-selector, chmaster uses the replica containing the current working directory.)
If errors occur, the command continues. After finishing, it reports that not all mastership changes succeeded.
With -long, chmaster lists the objects whose mastership is changing.
With -view, chmaster uses the specified view as the view context.

With -obsolete_replica, chmaster transfers mastership of all objects in the replica specified with old-replica-selector. Also, chmaster associates nonmastered checkouts with the new replica. Use this form of chmaster only when replica old-replica-selector is no longer available (for example, was deleted accidentally). Before entering this command, you must make sure that old-replica-selector masters itself or is mastered by the replica that it last updated. Then, enter the chmaster command at the last-updated replica. You must also send update packets from the last-updated replica to all other remaining replicas in the VOB family. For more information, see the rmreplica reference page.

RETURNING MASTERSHIP OF BRANCHES TO DEFAULT STATE. Default: None.

-def·ault [ -pname ] branch-pname ...

Transfers mastership of branch-pname to the replica that masters the branch type. If branch-pname has the form of an object selector, you must include the -pname option to indicate that branch-pname is a pathname.
-def·ault brtype-selector ...

Removes explicit mastership of branches that are mastered explicitly by the current replica and are instances of the type brtype.
NOTE: You can use this command only at the replica that masters the branch type.

EXAMPLES

SEE ALSO

reqmaster, syncreplica
Chapter 8, Managing Mastership in the Administrator's Guide for Rational ClearCase MultiSite.