Creates and registers a versioned object base (VOB)
Product | Command Type |
---|---|
ClearCase | cleartool subcommand |
ClearCase LT | cleartool subcommand |
Attache | command |
Platform |
---|
UNIX |
Windows |
ClearCase and Attache on UNIX:
ClearCase and Attache on Windows:
ClearCase LT:
NOTE: In ClearCase LT, you can run this command only on the ClearCase LT server host.
The mkvob command creates a new versioned object base, or VOB, as follows:
Creates a VOB storage directory at a specified path or in a VOB server storage location created with mkstgloc.
Creates a VOB-tag with which the VOB is accessed by users.
Places entries in the network's VOB registries; use the lsvob command to list registered VOBs.
Starts a VOB server process on the named host.
A VOB storage directory is the root of a directory tree whose principal contents are a VOB database and a set of storage pools. See the mkstgloc reference page for details.
mkvob creates the following directory elements in a VOB:
VOB root directory - A mkdir command is implicitly executed to create a directory element-the VOB root directory-in the new VOB. Activating a VOB makes its root directory accessible at the pathname specified by the VOB-tag.
lost+found directory-In ClearCase and Attache, mkvob also creates a special directory element, lost+found, as a subdirectory of the VOB root directory. In this directory are placed elements that are no longer entered in any versioned directory.
Each VOB storage directory is created with default storage pool subdirectories:
sdft | Default source storage pool |
cdft | Default cleartext storage pool |
ddft | Default derived object storage pool (ClearCase and Attache dynamic views) |
In considering access permissions, it is important to distinguish these two top-level directories:
VOB storage directory - The standard directory created by this command, which is at the top level of a server storage location for VOBs.
VOB root directory - The ClearCase or ClearCase LT directory element accessed at the VOB-tag.
ClearCase, ClearCase LT, and Attache implement their own access scheme that goes beyond the standard operating system facilities. These settings control access to many operations involving the VOB; they can be changed with the protectvob command.
WARNING: Do not use operating system permission-setting utilities on a VOB storage directory. This creates inconsistencies and causes confusion.
See also the protect reference page (this command affects access to individual elements and shared derived objects) and the Administrator's Guide.
When you create a VOB on a UNIX system, you become its VOB owner and your groups become its group list. These settings control access to many operations involving the VOB; they can be changed with the protectvob command.
Your operating system-level UID and GID are assigned to the VOB storage and the default storage pools. The mode of the VOB storage directory is set according to your current umask setting. This affects which users, and which views, can access the VOB. The modes of storage pool directories are set to 755, regardless of your current umask setting.
The mode of the VOB root directory, by contrast, is derived from your current umask setting. The mode can changed subsequently with the protect command. Note that the w permission on this directory (as on any directory element) affects only the creation of view-private objects; changes to the VOB itself are controlled by ClearCase or ClearCase LT permissions, not those at the operating system level.
When you create a VOB on a Windows system, you become its VOB owner and your primary group becomes the VOB's assigned group. These settings control access to many operations involving the VOB; they can be changed with the protectvob command.
Your operating system-level user name and the name of the ClearCase administrators group are assigned to the VOB storage and the default storage pools. All users can read and search the storage pools, but only the VOB owner and ClearCase or ClearCase LT server processes can modify them.
By default, VOBs are created with interop text mode support enabled. In this mode, the VOB database keeps track of the number of lines in all versions of each text file. This mode is required to support access to the VOB by interop text mode views (see the mkview reference page). To change the state of a VOB's interop text mode support, use the msdostext_mode utility. For more information, see the Administrator's Guide.
mkvob creates exactly one VOB-tag for the newly created VOB. This tag applies to the local host's network region by default. To make additional VOB-tags for other regions, use the mktag command. In general, the VOB-tags for a given VOB should all be public or all private.
Some VOBs are to be shared, and others are to be used primarily by their creators. Accordingly, there are two kinds of VOB-tags: public and private.
A public VOB-tag specifies a location at which any dynamic-view user can mount the VOB. Furthermore, after a public VOB is mounted on a host, any user on that host can access it (subject to the standard access permissions).
Typically, all public VOBs are mounted at startup time with the command cleartool mount -all. (To create a public VOB that is not mounted automatically, specify -options noauto in the mkvob command.)
When creating a public VOB-tag with mkvob or mktag, you must supply the network's VOB-tag password; if you don't use the -password option, you are prompted to provide one.
You need not create a public VOB's mount-over directory; the cleartool mount command creates it, if necessary.
A private VOB-tag specifies a mount point at which only the VOB's owner (usually, its creator) can mount the VOB using cleartool. For example:
cleartool mount /vobs/myPrivateVob
root can use the cleartool mount vob-tag command to bypass the "owner only" mount restriction. The command cleartool mount -all does not mount private VOBs.
After a private VOB is mounted, any user can access it (subject to the standard access permissions). You must explicitly create the mount-over directory for a private VOB; the cleartool mount command does not create it automatically.
A public VOB can be activated with the following command:
cmd-context mount -all
Usually, the system administrator automates this command for users in either of two ways:
By adding it to the startup script for ClearCase or Attache users.
By supplying it in a batch file for use in each user's Startup folder.
This technique is particularly useful because, in its role as a network provider, the MVFS deactivates all VOBs and views on the local host at user logon time. That is, each time a user logs on, the dynamic-views drive (by default drive M) is empty until VOBs and views are reactivated.
See the mount reference page for information on persistent VOB mounting.
When creating a public VOB-tag with mkvob or mktag, you must supply the network's VOB-tag password; if you don't use the -password option, you are prompted to type one. See rgy_passwd for information on how to create or change the VOB registry password.
Any user can mount any VOB, public or private. The private designation means only that a VOB must be mounted separately, by name.
To convert a private VOB to a public VOB, use a command like this:
cmd-context mktag -vob -tag \vob3.p -replace -public \\saturn\users\vbstore\private3.vbs
This replaces the VOB's private VOB-tag with a public one. mktag prompts you to enter the VOB-tag password.
For an explanation of public and private VOBs, see CLEARCASE AND ATTACHE DYNAMIC VIEWS-ACTIVATING THE VOB.
ClearCase and Attache-Snapshot views make no distinction between public and private VOBs: you can access private VOBs from a snapshot view regardless of who owns them.
ClearCase LT-All VOBs are private and can be accessed from any view.
A VOB cannot be used for development work in a dynamic view until it is activated with the cleartool or Attache mount command. This causes the VOB's storage directory to be mounted on the host at the VOB-tag location, as a file system of type MVFS. See the mount reference page for details.
A VOB to be used by some view for NFS access must be marked for export. Each export VOB is assigned an export ID, which ensures that NFS-exported view/VOB combinations have stable NFS file handles across server reboots or shutdown and restart of ClearCase.
If the VOB is registered in multiple regions, the export marking must appear on all of that VOB's tags in all the regions in which it is registered. To mark a VOB for export, use the -ncaexported option. To mark an existing VOB for export, use mktag -replace -ncaexported.
The VOB export ID is stored in the mount options field in the VOB-tag registry. If you use the -ncaexported option and specify additional mount options in the mktag or mkvob command, the mount options field includes an appropriate export ID mount option.
For information on exporting VOBs, see the export_mvfs reference page.
NOTE: Marking a VOB for export is not required for NFS export to work, but it is required if you want to avoid stale file handle messages after a server restart.
The VOB database directory must be located on the VOB server host or on a supported network attached storage device that has been configured for VOB storage. See the Administrator's Guide for a discussion of network attached storage devices.
You may create a VOB with storage on a supported network attached storage (NAS) device. We recommend using a server storage location for this purpose. See the mkstgloc reference page for information. To use mkvob to create a VOB that resides on a NAS device, you must specify the option set, -host -hpath -gpath. (NAS devices must be specially configured for use with ClearCase. See the Administrator's Guide for details.)
SPECIFYING THE VOB-TAG. Default: None.
SPECIFYING THE KIND OF VOB. Default: A standard (that is, nonproject) VOB.
EVENT RECORDS AND COMMENTS. Default: Creates one or more event records, with commenting controlled by your .clearcase_profile file (default: -cqe). See the comments reference page. Comments can be edited with chevent.
SPECIFYING A NETWORK REGION. Default: Creates the VOB-tag in the local host's network region. (Use the hostinfo -long command to display the network region.) See the Administrator's Guide for a discussion of network regions.
SPECIFYING MOUNT OPTIONS. Default: Mounts each VOB using the -options field in its vob_tag registry file.
MARKING THE VOB FOR EXPORT. Default: The VOB is not marked for export.
PUBLIC VS. PRIVATE VOB. Default: A private VOB.
SPECIFYING THE VOB'S LOCATION AND NETWORK ACCESSIBILITY. Default for ClearCase and Attache: None. Default for ClearCase LT: The server storage location on the ClearCase LT server host with the most free space.
|
|
|
|
Server storage locations that have no global path (mkstgloc -ngpath) and that reside on remote hosts are disqualified.
Server storage locations on heterogeneous hosts are disqualified.
Local server storage locations are preferred over remote ones.
Globally accessible server storage locations (mkstgloc -gpath) are preferred over those that are not (mkstgloc -ngpath).
The server storage location with the most free space is selected.
The UNIX 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 shell or Windows command interpreter prompt, followed by the cleartool command. In cleartool interactive mode, cmd-context represents the interactive cleartool prompt. In Attache, cmd-context represents the workspace prompt.
NOTE: In the UNIX examples that follow, arguments and output that show multicomponent VOB tags are not applicable to ClearCase LT, which recognizes only single-component VOB tags. In this manual, a multicomponent VOB tag is by convention a two-component VOB tag of the form /vobs/vob-tag-leaf-for example, /vobs/src. A single-component VOB tag consists of a leaf only-for example, /src. In all other respects, the examples are valid for ClearCase LT.
Create a private VOB storage directory, project3.vbs, in the /usr/vobstore directory on local host venus, and give it the VOB-tag /vobs/project3. Then, mount the VOB on the local host.
cmd-context mkvob -tag /vobs/project3 -c "main development sources" \
/usr/vobstore/project3.vbs
Created versioned object base.
Host-local path: venus:/usr/vobstore/project3.vbs
Global path: /net/venus/usr/vobstore/project3.vbs
VOB ownership:
owner anne
group dev
Additional groups:
group usr
group adm
% mkdir /vobs/project3 (create VOB mount point to match the VOB-tag)
cmd-context mount /vobs/project3 (mount VOB as file system of type MVFS)
Create a public VOB, which will be mounted at startup time (by all hosts in the current host's network region), and mark it for export.
cmd-context mkvob -tag /vobs/src1 -public -password tagPword \
-ncaexported /vobstore/src1.vbs
Created versioned object base.
Host-local path: saturn:/vobstore/src1.vbs
Global path: /net/saturn/vobstore/src1.vbs
.
.
.
Create a private VOB in a different region, explicitly specifying the registry information.
cmd-context mkvob -tag /vobs/doctools -c "storage for documentation tools" \
-region unix_dev -host neon -hpath /vobstg/doctools.vbs \
-gpath /net/neon/vobstg/doctools.vbs /vobstg/doctools.vbs
Created versioned object base.
Host-local path: neon:/vobstg/doctools.vbs
Global path: /net/neon/vobstg/doctools.vbs
.
.
.
Create a VOB at VOB server storage location.
cmd-context mkvob -tag /vobbert -stgloc stgloc1
Comments for "/export/home/bert/stgloc1/vobbert.vbs":
test vob
.
Created versioned object base.
Host-local path: peroxide:/export/home/bert/stgloc1/vobbert.vbs
Global path: <no-gpath>
cleartool: Warning: This global path value precludes use of this VOB by
dynamic views from region "test_region".
.
.
.
Create a private VOB storage directory, project3.vbs, in the C:\users\vbstore directory on local host venus, and give it the VOB-tag \project3. Assume c:\users is shared as \\venus\users. Then, mount the VOB on the local host.
cmd-context mkvob -tag \project3 -c "main development sources" ^
\\venus\users\vbstore\project3.vbs
Created versioned object base.
Host: venus
Local path: C:\users\vbstore\project3.vbs
Global path: \\venus\users\vbstore\project3.vbs
VOB ownership:
owner anne
group dev
cmd-context mount \project3 (mount VOB as file system of type MVFS)
Create a public VOB, which will be mounted at startup time (by all hosts in the current host's network region).
cmd-context mkvob -tag \src1 -public -password tagPword \\saturn\vbstore\src1.vbs
Created versioned object base.
Host: saturn
Local path: C:\vbstore\src1.vbs
Global path: \\saturn\vbstore\src1.vbs
.
.
.
chpool, lsvob, mkpool, mkstgloc, mount, protectvob, rgy_passwd, rmvob, uncheckout, umount, umask(1)
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |