cleartool

VersionVault user-level commands (command-line interface)

Applicability

Product

Command type

VersionVault

command

Platform

UNIX

Linux

Windows

Synopsis

  • Single-command mode:
    cleartool subcommand [ options/args ]
  • Interactive mode:
    cleartool [ –e ] [ –status ]

    cleartool> subcommand [ options/args ]
    .
    .
    .
    cleartool> quit

  • Display version information for VersionVault, the kernel, and cleartool:
    cleartool –ver/sion
  • Display version information for VersionVault, the kernel, cleartool, and the libraries on UNIX or Linux and the VersionVault DLLs on Windows that cleartool uses:
    cleartool –VerAll

Description

cleartool is the primary command-line interface to VersionVault version-control and configuration management software. It has a rich set of subcommands that create, modify, and manage the information in VOBs and views.

Cleartool subcommands

Each cleartool subcommand is described in its own reference page.

annotate

apropos

catcr

catcs

cd

chactivity

chbl

checkin

checkout

checkvob

chevent

chflevel

chfolder

chpolicy

chmaster

chpool

chproject

chrolemap

chstream

chtype

chview

cppolicy

cprolemap

cptype

deliver

describe

diff

diffbl

diffcr

dospace

edcs

endview

file

find

findmerge

get

getcache

getlog

help

hostinfo

ln

lock

ls

lsactivity

lsbl

lscheckout

lsclients

lscomp

lsdo

lsfolder

lshistory

lslock

lsmaster

lspolicy

lspool

lsprivate

lsproject

lsregion

lsreplica

lsrolemap

lssite

lsstgloc

lsstream

lstype

lsview

lsvob

lsvtree

man

merge

mkactivity

mkattr

mkattype

mkbl

mkbranch

mkbrtype

mkcomp

mkdir

mkelem

mkeltype

mkfolder

mkhlink

mkhltype

mklabel

mklbtype

mkpolicy

mkpool

mkproject

mkregion

mkrolemap

mkstgloc

mkstream

mktag

mktrigger

mktrtype

mkview

mkvob

mount

mv

protect

protectvob

pwd

pwv

quit

rebase

recoverview

reformatview

reformatvob

register

relocate

rename

reqmaster

reserve

rmactivity

rmattr

rmbl

rmbranch

rmcomp

rmdo

rmelem

rmfolder

rmhlink

rmlabel

rmmerge

rmname

rmpolicy

rmpool

rmproject

rmregion

rmrolemap

rmstgloc

rmstream

rmtag

rmtrigger

rmtype

rmver

rmview

rmvob

setactivity

schedule

setcache

setcs

setplevel

setsite

setview

shell

space

startview

umount

uncheckout

unlock

unregister

unreserve

update

winkin

Getting help

cleartool provides several online help facilities for its subcommands:

  • Syntax summary. To display a syntax summary for an individual subcommand, use the help subcommand or the –help option:

    cleartool help

    Syntax of all subcommands

    cleartool help mklabel

    Syntax of one subcommand

    cleartool mklabel –help

    Syntax of one subcommand

  • Reference pages. cleartool has its own interface to the UNIX or Linux man command and Windows Help Viewer. Enter cleartool man command-name to display the reference page for a command.

    Reference pages are also accessible from the Windows help system's main contents.

Usage overview

You can use cleartool in either single-command mode or interactive mode. A single cleartool command can be invoked from a UNIX or Linux shell or the Windows command interpreter using this syntax:

cleartool subcommand [ options-and-args ]

If you want to enter a series of subcommands, enter the cleartool command with no arguments. This places you at the interactive mode prompt:

cleartool>

You can then issue any number of subcommands (referred to as "commands" from now on), ending with quit to return to the shell or command interpreter. You can continue cleartool commands onto additional lines as follows:

  • On UNIX and Linux systems, use the backslash (\)
  • On Windows systems, use the caret (^)

Interactive mode options

These options apply to interactive mode:

  • –e causes cleartool to exit upon encountering an error.
  • –status returns the status (0 or 1) of each cleartool subcommand executed.

Command options

Command options may be displayed in any order, but all options must precede any nonoption arguments (typically, names of files, versions, branches, and so on). If an option is followed by an additional argument, such as –branch /main/bugfix, there must be white space between the option string and the argument. If the argument itself includes space characters, it must be enclosed in quotes.

If a nonoption argument begins with a hyphen () character, you may need to precede it with a double-hyphen argument, to prevent it from being interpreted as an option:

cleartool rmtype -lbtype -- -temporary_label-

Command abbreviations and aliases

Many subcommand names and option words can be abbreviated. A subcommand's syntax summary indicates all valid abbreviations. For example:

–pre/decessor

The position of the forward slash (/ ) indicates that you can abbreviate the option to –pre, or to any intermediate spelling: –pred, –prede, and so on.

For option words, the minimal abbreviation is always three characters or fewer.

A few cleartool commands have a built-in command alias. For example, the alias for checkin is ci; the alias for checkout is co. These commands are equivalent:

cleartool checkin test.c

cleartool ci test.c

Arguments in cleartool commands

Arguments in cleartool commands specify objects, either file system objects (which may or may not be in a VOB) or non-file-system VOB objects. File system objects are elements, versions, VOB symbolic links, derived objects, view-private directories, and view-private files. File system objects also include files, UNIX and Linux symbolic links, and directories that have been loaded into a snapshot view. Examples of arguments that specify file system objects:

cleartool ls .
cleartool mkelem new_doc
cleartool checkin -nc ..\src\main.h

Non-file-system VOB objects include types (attribute, branch, element, hyperlink, label, replica, trigger), pools, hyperlinks, replicas, and VOBs. Examples of arguments that specify non-file-system VOB objects:

cleartool lock brtype:v2_release
cleartool describe vob:/vobs/smg_tmp
cleartool mkhltype tested_by

The sections File system objects and Non-file-system VOB objects provide more details about specifying objects.

Note: If a nonoption argument begins with a hyphen (), you may need to precede it with a double-hyphen argument to prevent it from being interpreted as an option.

Use of slashes and backslashes on Windows systems

Slashes (/) and backslashes (\) can be used interchangeably in pathnames in cleartool commands. For example, the following command is valid on a Windows host:

z:\myvob> cleartool ls /srcvob/util.c

File system objects

To specify a file system object as an argument, you can use either a full or relative path name. In many cases, you can also use these variants: a view-extended path name (full or relative) or a version-extended path name (full or relative).

On UNIX and Linux systems, a full path name begins with a slash. For example:

/usr/src/project

Full path name

/usr/bin/cc

Full path name

/view/jpb/usr/src/project/test.c

View-extended full path name

/usr/src/project@@/main/3/test.c/main/bugfix/4

Version-extended full path name

On Windows systems, a full path name begins with an optional drive letter and a backslash. For example:

C:\users\smg\test\test.c

Full path name (non-VOB object)

E:\myvob\src\main.c

Full path name to VOB object — E: is assigned to a view

\myvob\src\main.c

Full path name to VOB object; also called an absolute VOB path name, because it begins with a VOB tag (\myvob); only legal if current drive is assigned to a view; also used in config specs

M:\smg_view\myvob\src\main.c

View-extended full path name (VOB object); drive M constitutes view-extended namespace

E:\vob_src\view_priv_dir\view_priv_file

Full path name (view-private file)

\myvob\src\main.c@@\main\3

Version-extended full path name

Note: In general, you perform VersionVault operations on Windows in a view context, on a drive assigned with the Windows net use command, or by clicking Tools > Map Network Drive in Windows Explorer. It is rare to work directly on drive M, the default dynamic-views drive. However, it is common to use view-extended path names that include the M:\view-tag prefix.

On UNIX and Linux systems, a relative pathname does not begin with a slash or an implied slash (for example, ~user). For example:

test.c

Relative path name

../lib

Relative path name

motif/libX.a

Relative path name

../../beta_vu/usr/src/project

View-extended relative path name

test.c@@/main/4

Version-extended relative path name

On Windows systems, a relative path name does not begin with a backslash. For example:

test.c

Relative path name

..\lib

Relative path name

tcp\libw.lib

Relative path name

test.c@@\main\4

Version-extended relative path name

Note: On Windows systems, path names relative to another drive (for example, C:\lib\util.o when C:\ is not the current drive) are not supported.

For both full and relative path names:

  • The standard operating system path name of an element implicitly references the version selected by the current view.
  • A view-extended path name references the version of the element selected by the specified view.
  • A version-extended path name directly references a particular version in an element's version tree.

For more information, see the version_selector and pathnames_ccase reference pages.

Note: On Windows systems, although the VersionVault MVFS uses case-insensitive lookup by default, cleartool itself is case-sensitive.

Non-file-system VOB objects

In cleartool commands, you specify non-file-system VOB objects (VOBs, types, pools, hyperlinks, policies, rolemaps, and replicas) with object selectors.

Object selectors identify non-file-system VOB objects with a single string:

[prefix:]name[@vob-selector]

where

prefix
Identifies the kind of object. The prefix is optional if the context of the command implies the kind of object. For example,

cleartool mkbrtype brtype:v3_bugfix

is equivalent to '

cleartool mkbrtype v3_bugfix

If a context does not imply any particular kind of object, cleartool assumes that a name argument with no prefix is a path name. For example, the command cleartool describe ddft describes a file system object named ddft, but cleartool describe pool:ddft describes the ddft pool.

If the name of a file system object looks like a prefix:name argument, you must use the –pname option to identify it. (In the mkhlink command, the options –fpname and –tpname serve the same function.) For example, to describe a file named lbtype:L, enter this command:

cleartool describe –pname lbtype:L

name
The name of the object. See the section Object names for the rules about composing names.
vob-selector
VOB specifier. The default is the current working directory, unless the reference page specifies otherwise. Specify vob-selector in the form [vob:]pname-in-vob (for some commands, the vob: prefix is required; this is noted in the reference page)

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)

Object names

In object-creation commands, you must compose the object name according to these rules:

  • It must contain only letters, digits, and the special characters underscore (_), period (.), and hyphen (-). A hyphen cannot be used as the first character of a name.
  • It must not be an integer.
  • It must not be one of the special names “ . “, “ .. “, or “ ... “.

cleartool supports object names of up to 1024 bytes in length, although Windows imposes a limit of 260 bytes on object names. Consult your operating system documentation for more information about the maximum length of object names; keep in mind that in a multiplatform environment, object names should conform to the rules of the most restrictive platform.

Processing of VOB symbolic links

In general, cleartool commands do not traverse VOB symbolic links; rather, they operate on the link objects themselves. For example:

  • You cannot check out a VOB symbolic link, even if it points to an element.
  • A describe command lists information on a VOB symbolic link object, not on the object to which it points.
  • A mklabel –recurse command walks the entire subtree of a directory element, but does not traverse any VOB symbolic links it encounters.

UNIX and Linux command-line processing

In single-command mode, the cleartool command you enter is first processed by the UNIX or Linux shell. The shell expands file name patterns and environment variables, and it interprets quotes and other special characters. cleartool processes the resulting argument list directly, without any further interpretation.

In interactive mode, cleartool itself interprets the command line similarly, but not identically, to the v and Linux shells:

Line continuation

A \<NL> sequence is replaced by a <SPACE> character.

Character escape

The two-character sequence \ special-char suppresses the special meaning of the character.

Single-quoting

Allows whitespace characters and other special characters to be included in command argument. Within a single-quoted string (' ... '), a double-quote character (") has no special meaning, and \ ' is replaced by '.

Double-quoting

Allows whitespace characters and other special characters to be included in command argument. Within a double-quoted string (" ... "), \" is replaced by ", and \ ' is replaced by '.

Commenting

Command lines that begin with a number sign (#) are ignored.

Wildcards

File name patterns (including *, ?, and so on) that are not enclosed in quotes are expanded as described in the wildcards_ccase reference page. These patterns are also supported in config specs and, except for ellipsis (...), by the UNIX and Linux shells. (The meaning of ellipsis is slightly different in config specs; see the config_spec reference page.)

In interactive mode, cleartool does not expand environment variables and does not perform command substitution.

Windows command-line processing

Single-command mode

In single-command mode, the cleartool command you enter is processed first by the Windows command interpreter and C run-time library, then by cleartool:

  1. The standard command interpreter, cmd.exe, expands environment variables, but does no special processing for file name patterns, quotes, or other special characters (including the asterisk (*) and question mark (?) characters, which are expanded by individual commands).
  2. The C run-time library does interpret quotes, stripping each pair and passing its contents through to cleartool as a single argument. (To pass a quote character through to cleartool, escape it with the backslash ( \ ).)
  3. cleartool processes the resulting argument list directly, without any further interpretation.

Some third-party shells perform additional command-line processing before passing the argument list through to cleartool. All descriptions and examples of cleartool command usage assume the standard cmd.exe interpreter.

Interactive mode

In interactive mode, cleartool itself interprets the command line; it recognizes various special characters and constructs:

Line continuation (^)

A ^<NEWLINE> sequence is replaced by a <SPACE> character.

Single-quoting (‘  ‘)

Allows whitespace characters and other special characters to be included in command argument. Within a single-quoted string (' ... '), a double-quote character (") has no special meaning.

Double-quoting (" ")

Allows whitespace characters and other special characters to be included in command argument.

Commenting (#)

Command lines that begin with a number sign (#) are ignored.

Wildcards

File name patterns (including *, ?, and so on) that are not enclosed in quotes are expanded as described in the wildcards_ccase reference page. These patterns are also supported in config specs. (The meaning of ellipsis is slightly different in config specs; see the config_spec reference page.)

In interactive mode, cleartool does not expand environment variables.

Object locking

VersionVault provides temporary access control through explicit locking of individual objects with the lock command. When an object is locked, it cannot be modified by anyone (except those explicitly excluded from the lock).

cleartool command descriptions list the locks that can prevent a command from being executed, even if you have the necessary permissions. For example, the chtype command lists three locks that would prevent you from changing an element type:

VOB, element type, pool (non-directory elements only)

This means that chtype would fail if the VOB that contains the element were locked, if the element's type were locked (such as the text_file type), or if the storage pool containing the (nondirectory) element were locked.

Exit status

If you exit cleartool by entering a quit command in interactive mode, the exit status is 0. The exit status from single-command mode depends on whether the command succeeded (zero exit status) or generated an error message (nonzero exit status).

Note that for the diff command, success means that no differences were found.

UNIX and Linux files

versionvault-home-dir/doc/man/whatis

whatis file

versionvault-home-dir/doc/man/whatis.aux

auxiliary whatis