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.
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 |
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 |
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.
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:
- 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).
- 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 ( \ ).)
- 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 |