Makes a copy of an existing type object.



Command type


cleartool subcommand






cptype [–c/ omment comment | –cfi/le comment-file-pname |–cq/uery
| –cqe/ach | –nc/omment ] [ –rep/lace ]

existing-type-selector new-type-selector


The cptype command creates a new type object (for example, a label type or attribute type) that is a copy of an existing type object. The existing and new objects can be in the same VOB or in different VOBs. The copy can have the same name as the original only if you are making the copy in a different VOB.

The original and copy do not retain any connection after you execute cptype. They are merely two objects with the same properties, and perhaps even the same name.

Exception: Global types are handled differently. For more information, see the Help.

VersionVault—Ordinary types and AdminVOB hierarchies

When you copy an ordinary type object to a VOB that is part of an AdminVOB hierarchy, VersionVault determines whether the new type name is already defined as a global type in the administrative VOB of the copy's destination VOB. If it is, cptype fails with an explanatory message; you can then do one of the following:

  • Specify a different name for the copy.
  • Try using the original type object in the VOB where you wanted to make the copy.

Handling of supertypes

The cptype command recursively copies the supertypes of the original type to the copy's destination VOB.

Firing of mktype triggers

When you copy a type, the cptype command fires any mktype triggers attached to the destination VOB.



This command has the same restrictions as the type-object creation commands (mkobjecttype).


An error occurs if one or more of these objects are locked: VOB that contains the new object. With –replace, an error occurs if the type object being replaced is locked.


(Replicated VOBs) The replica containing the original type must master that type.

Options and arguments

Event records and comments

Creates one or more event records, preserving the comment associated with the original type. Any new comment you specify is appended to the preserved comment. (The file .versionvault_profile defines default commenting behavior; you can also edit comments using 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.

Replacing an existing type object

An error occurs if new-type-selector already exists.
Replaces the definition of new-type-selector with the definition of existing-type-selector. An error occurs if existing-type-selector and new-type-selector have the same definition. If you specify –c or –cfile with –replace, the comment is displayed in the event record for the modification (displayed with lshistory –minor); it does not replace the object's creation comment (displayed with describe). Use chevent to change a creation comment.

Specifying the existing and new type objects

existing-type-selector , new-type-selector
The name of an existing type object and a name for the new copy. Specify existing-type-selector in the form type-kind:type-name[@vob-selector] and new-type-selector in the form [type-kind]:type-name[@vob-selector]

existing-type-selector , new-type-selector


One of


Attribute type


Branch type


Element type


Hyperlink type


Label type


Trigger type


Name of the type object

See the cleartool reference page for rules about composing names.


VOB specifier

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




Path name 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)


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.

  • Make a copy of a label type object, in the same VOB.

    cmd-context  cptype lbtype:RE1.3 REL1.4

  • Copy a branch type object, to create an object with the same name in a different VOB.

    cmd-context cptype -c "copied from source VOB" ^
    brtype:proj_test3.7@\projsrc proj_test3.7@\projtest

  • Replace the definition of the trigger type label_it with the description of label_it from another VOB.

    cmd-context cptype –replace trtype:label_it@/vobs/stage label_it@/vobs/dev