rmlabel

Removes a label from a version

Applicability

Product

Command type

VersionVault

cleartool subcommand

VersionVault Remote Client

rcleartool subcommand

Platform

UNIX

Linux

Windows

Synopsis

  • VersionVault:
    rmlabel [ –r/ecurse ] [ –fol/low ] [ –silent ] [ –ver/sion version-selector ]
    [ –c/omment comment | –cfi/le comment-file-pname | –cq/uery | –cqe/ach | –nc/omment ]

    label-type-selector pname ...

  • VersionVault Remote Client:
    rmlabel [ –r/ecurse ] [ –fol/low ] [ –silent ] [ –ver/sion version-selector ]
    [ –c/omment comment | –cq/uery | –nc/omment ]

    label-type-selector pname ...

Description

The rmlabel command removes one or more version labels from versions of elements. Labels can be attached to versions by the mklabel command and by triggers (mktrtype –mklabel).

rmlabel deletes a reference to a label type object. To delete the label type object itself or the type object and all its instances, use the rmtype command.

Restrictions

ACL authorization

If ACLs are enabled, the principal must have the following permissions:
  • read-info on VOB object
  • read-info on element
  • mod-label on element

Non-ACL authorization

You must have one of the following identities:

  • Element owner
  • Element group member
  • VOB owner
  • root (UNIX and Linux)
  • Member of the VersionVault administrators group (VersionVault on Windows)

Locks

An error occurs if one or more of these objects are locked: VOB, element type, element, branch type, branch, label type.

Mastership

(Replicated VOBs only) If the label type is unshared, your current replica must master the label type. If the label type is shared, your current replica must master the object whose label you are removing:

  • For a one-per-branch shared label type, your current replica must master the branch.
  • For a one-per-element shared label type, your current replica must master the element.

Other restrictions

You cannot use this command to remove an instance of a UCM baseline label type.

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.

Specifying the versions to be unlabeled

Default
None.
pname ...
One or more pathnames, indicating versions from which the label is to be removed. What kind of pathname is valid depends on how the label has been used:

If the label has been used only once in an element's version tree, you can specify the element itself or any of its branches or versions (in this case, the –version option is ignored):

foo.c

Version selected by view

foo.c@@

Element itself

foo.c@@/main/rel2_bugfix

Branch of element

If the label has been used multiple times, you must specify either the version to which the label is attached, or the branch on which that version resides.

foo.c

Version selected by view

foo.c@@\REL1

Version specified by label

foo.c@@\main\rel2_bugfix\3

Version specified by version ID

foo.c@@\main\rel2_bugfix

Branch on which version resides

Using the –version option modifies the way in which this argument is interpreted.

–ver/sion version-selector
Specifies the version from which the label is to be removed. See the version_selector reference page for syntax details. Using this option overrides a version-extended pathname. For example:

cmd-context rmlabel XXX util.c@@/REL1

Removes label from version REL1.

cmd-context rmlabel -ver /main/3 XXX util.c@@/REL1

Removes label from version /main/3

–r/ecurse
Processes the entire subtree of each pname that is a directory element (including pname itself). VOB symbolic links are not traversed during the recursive descent into the subtree.

When you specify this option with –version, rmlabel recursively descends directories even if there is no version match for a specified directory—the directory version selected by the view's config spec is used for the recursion.

When you specify this option, a summary is printed at the completion of this command that lists the number of labels removed and any attempted removals that failed.

–fol/low
For any VOB symbolic link encountered, labels the corresponding target.

Suppressing status information

Default
Status messages on the progress of the operation are not suppressed.
–silent
Suppress status messages. Specifying this option can improve the performance of this command when a large number of versions are specified; for example, rmlabel –silent –recurse *.

Specifying the label to be removed

Default
None.
label-type-selector
An existing label type. Specify label-type-selector in the form [lbtype:]type-name[@vob-selector]

label-type-selector

type-name

Name of the label type

vob-selector

VOB specifier

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)

Examples

The UNIX system and Linux examples in this section are written for use in csh. If you use another shell, you might 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 might 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.

  • Remove the label REL3 from a version of msg.c without specifying which version (assumes the label is attached to one version only).

    cmd-context  rmlabel REL3 msg.c
    Removed label "REL3" from "msg.c" version "/main/1".

  • Remove the label REL2 from the version of element util.c specified by a version selector.

    cmd-context  rmlabel –version \main\REL2 REL2 util.c\
    Removed label "REL2" from "util.c" version "\main\1".

  • Remove the label REL1.1 from version 1 on the maintenance branch of file element util.c. Use a version-extended pathname to indicate the version.

    cmd-context  rmlabel REL1.1 util.c@@/main/maintenance/1
    Removed label "REL1.1" from "util.c" version "/main/maintenance/1".