mkdir

Creates a directory element

Applicability

Product

Command type

VersionVault

cleartool subcommand

VersionVault Remote Client

rcleartool subcommand

Platform

UNIX

Linux

Windows

Synopsis

  • VersionVault:
    mkdir [ -nco ] [ -c/omment comment | -cfi/le comment-file-pname | -cq/uery
    | -cqe/ach | -nc/omment ] dir-pname ...
  • VersionVault Remote Client:
    mkdir [ -nco ] [ -c/omment comment | -cq/uery
    | -cqe/ach | -nc/omment ] [-master ] [ -rolemap rolemap-selector ] dir-pname ...

Description

Note: A new directory element can be created only if its parent directory is checked out. mkdir appends an appropriate line to the parent directory's checkout comment.

If evil twin detection is enabled and the creation of a new element that is an evil twin of an existing element is attempted, an error is returned and the element is not created.

The mkdir command creates one or more directory elements. (Operating system directory creation commands create view-private directories, not elements.) Unless you specify the -nco (no checkout) option, the new directory is checked out automatically. A directory element must be checked out before you can create elements and VOB links within it.

The mkelem -eltype directory command is equivalent to this command.

The new directory element is associated with the same storage pools (source, derived object, and cleartext) as its parent directory element. You can assign the directory to different pools with the chpool command. Note that the directory itself is stored in the database, but files created in the directory are stored in the pools associated with the directory.

In a snapshot view, this command also updates the directory element.

UNIX and Linux file modes

With ACL authorization, directory elements are protected according to the rolemap that you assign (mkdir -rolemap). Otherwise, new directory elements are protected created with mode 777, as modified by your umask. However, the meanings of the read, write, and execute permissions do not have their standard UNIX or Linux meanings. See the protect reference page for details.

Group selection of objects

Group selection of directory elements are governed by the same algorithms that govern group selection of file elements: see the mkelem reference page.

Converting view-private directories

You cannot create a directory element with the same name as an existing view-private file or directory, and you cannot use mkdir to convert an existing view-private directory structure into directory and file elements. To accomplish this task, use clearfsimport.

Restrictions

ACL authorization

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

Identities

No special identity is required.

Locks

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

Mastership

(Replicated VOBs only) No mastership restrictions.

Options and arguments

Checkout of the new directory

Default
mkdir checks out the new directory element.
-nco
Suppresses checkout of the new directory element.

Event records and comments

Default
Creates one or more event records, with commenting controlled by your .versionvault_profile file (default: -cqe). 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.

Mastership of the main branch

Default
Assigns mastership of the directory element's main branch to the VOB replica that masters the main branch type.
-master
Assigns mastership of the main branch of the directory element to the VOB replica in which you execute the mkdir command. If your config spec includes -mkbranch lines or mkbranch rules that apply to the directory element, and you do not use the -nco option, mkdir creates these branches and assigns their mastership to the current VOB replica. mkdir also prints a note that these branches are explicitly mastered by the current replica; the output also displays the master replica of each associated branch type.

ACL protection

Default
If the VOB is at feature level 8 or higher, the rolemap of the parent directory.
-rolemap rolemap-selector
If the VOB is at feature level 8 or higher, specifies the rolemap that is to protect the directory element. File mode bits are applied as in the case of VOBs at feature level 7 or lower. A rolemap does not require that ACLs be enforced.

Naming the directories

Default
None.
dir-pname ...
One or more path names, specifying directories to be created.

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.

  • Create a subdirectory named subd and check out the directory to the current view.

    cmd-context mkdir -nc subd
    Created directory element "subd".
    Checked out "subd" from version "/main/0".

  • Create a subdirectory named release, but do not check it out. Provide a comment on the command line.

    cmd-context mkdir -nco -c "Storage directory for released files" release
    Created directory element "release".