mkelem
Creates a file or directory element
Applicability
Product
|
Command type
|
ClearCase®
|
cleartool
subcommand
|
| ClearCase Remote Client |
rcleartool subcommand |
Platform
|
UNIX®
|
| Linux® |
Windows®
|
| Web |
Synopsis
- ClearCase:
- mkelem [ –elt/ype element-type-name ]
[ –nco | –ci [ –pti/me ]
]
- [ –mkp/ath ] [–master ] [ –nwa/rn ]
| –cq/uery | –cqe/ach | –nc/omment ] element-pname ...
- ClearCase Remote Client interactive mode:
- mkelem [ –elt/ype element-type-name ]
[ mkp/ath ]
[ –c/omment comment | –nc/omment ] element-pname
...
- ClearCase Remote Client single-command mode:
- mkelem -user_name user_name -server server-url -password password
- [ –elt/ype element-type-name ]
[ mkp/ath ]
[ –c/omment comment | –nc/omment ] element-pname
...
Description
The mkelem command
creates one or more new elements. By default, a new element can be
created in a directory only if that directory element is checked out. mkelem appends
an appropriate line to the directory's checkout comment.
mkelem processes
each element as follows:
- Determines an element type from
the specified –eltype option or by performing file-typing.
- Creates an element object with
that element type in the appropriate VOB database.
- On UNIX and Linux systems,
if you are using the –ci option to convert a view-private
file to an element, uses the permissions of that file including setuid and/or setgid bits;
otherwise, sets the mode of the new element to 444 (for a file element)
or 777 (for a directory element), as modified by your current umask(1) setting
- Initializes the element's version
tree by creating a single branch (named main),
and a single, empty version (version 0) on that branch
- Does one of the following:
- By default, checks out the element
to your view.
Note: At this
point, other views see an empty file when they look at the element.
- With the –nco option,
does nothing.
- With the –ci option,
creates version 1 by copying a view-private file or an uploaded view-private
file.
- Assigns the element to the same
source storage pool, cleartext storage pool, and (for new directory
elements) derived object storage pool as its parent directory element.
- In a snapshot view, updates the
newly created element.
Note: Error messages appear
if your config spec lacks a
/main/LATEST rule.
The
mkelem command succeeds in creating version
/main/0.
However, because your view does not have a rule to select this version,
you cannot see or check out the element.
Restrictions
Identities
You must be a member of a group in the
VOB's group list.
- On UNIX or Linux,
your primary group must be in the VOB's group list.
- On Windows, your primary group or another group
to which you belong must be in the VOB's group list. If your primary
group is not in the VOB's group list, then there must be exactly
one group in your group list that is also in the VOB's group
list. Otherwise, you cannot create an element in the VOB.
Locks
An error occurs if one or more of these
objects are locked: VOB, element type, pool (nondirectory elements).
Mastership
(Replicated VOBs) No mastership restrictions.
Options and arguments
Specifying the element type
- Default
- mkelem performs file-typing to select an element
type. If file-typing fails, an error occurs. For details on file-typing,
see the cc.magic reference page.
- –elt/ype element-type-name
- Specifies the type of element to be created. The element type
must be a predefined type, or a user-defined type created with the mkeltype command.
The element type must exist in each VOB in which you are creating
a new element or (if element-type-selector is a
global type) in the administrative VOB hierarchy associated with each
VOB. Specifying –eltype directory is
equivalent to using the mkdir command.
Checkout of the new element
- Default
- mkelem checks out the new element. If a view-private
file already exists at that pathname, it becomes the checked-out version
of the element. Otherwise, an empty view-private file is created and
becomes the checked-out version.
- –nco
- Suppresses checkout; mkelem creates the new
element, along with the main branch and version \main\0,
but does not check it out. If element-pname exists,
it is moved aside to a .keep file, as explained
earlier.
- –ci [ –pti/me ]
- Creates the new element and version /main/0,
performs a checkout, and checks in a new version containing the data
in view-private file or DO element-pname, which
must exist. You cannot use this option when creating a directory element.
With –ptime, mkelem preserves
the modification time of the file being checked in. If you omit this
option, the modification time of the new version is set to the checkin
time.
On some UNIX and Linux platforms,
it is important that the modification time be preserved for archive
files (libraries) created by ar(1) (and perhaps
updated with ranlib(1)). The link editor, ld(1),
generates an error message if the modification time does not match
a time recorded in the archive itself. Be sure to use this option,
or (more reliably) store archive files as elements of a user-defined
type, created with the mkeltype –ptime command.
This causes –ptime to be invoked when the element
is checked in.
Parent directories of the new element
- Default
- The parent directories of the view-private file or directory that
is being created must be elements that are checked out.
- –mkp/ath
- This option enables elements to be created within its view-private
parent directories. However, the command must be ran within a versioned
parent directory. For example, if you have a view-private file foo.c,
it's view-private parent directory dir1, and dir1's versioned parent
directory dir2, you must run mkelem -mkp·ath in
dir2:
cmd-context mkelem -nc -mkpath dir1 dir1\foo.c
By
default, the element's parent directories (including those that are
already elements) are checked out, as well as the element itself.
Mastership of the main branch
- Default
- Assigns mastership of the element's main branch to the
VOB replica that masters the main branch type.
- –master
- Assigns mastership of the main branch of the element to
the VOB replica in which you execute the mkelem command.
If your config spec includes –mkbranch lines or mkbranch rules
that apply to the element, and you do not use the –nco option, mkelem creates
these branches and assigns their mastership to the current VOB replica. mkelem 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.
Display of warning messages
- Default
- Warning messages are displayed.
- –nwa/rn
- Suppresses warning messages.
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.
- –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 elements
- Default
- None.
- element-pname ...
- The pathnames of one or more elements to be created. If you also
specify the –ci option, each element-pname must
name an existing view-private object. You cannot create a directory
element with the same name as an existing view-private file or directory
unless you specify –mkpath.
Examples
The UNIX system and Linux 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 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 file element named rotate.c of
type compressed_text_file, and check out the initial version
(version 0).
cmd-context mkelem –nc –eltype compressed_text_file rotate.c
Created element "rotate.c" (type "compressed_text_file").
Checked out "rotate.c" from version "/main/0".
- Create three file elements, cm_add.c, cm_fill.c,
and msg.c, allowing the file-typing mechanism
to determine the element types. Do not check out the initial versions.
cmd-context mkelem –nc –nco cm_add.c cm_fill.c msg.c
Created element "cm_add.c" (type "text_file").
Created element "cm_fill.c" (type "text_file").
Created element "msg.c" (type "text_file").
- Convert a view-private file named test_cmd.c to
an element, and check in the initial version.
cmd-context mkelem –nc –ci test_cmd.c
Created element "test_cmd.c" (type "text_file").
Checked in "test_cmd.c" version "\main\1".
- Create two directory elements and
check out the initial version of each.
cmd-context mkelem –nc –eltype directory libs include
Created element "libs" (type "directory").
Checked out "libs" from version "/main/0".
Created element "include" (type "directory").
Checked out "include" from version "/main/0".
- Create an element type named lib for
library files, with the predefined binary_delta_file as its
supertype. Then, change to the libs directory,
check it out, and create two elements of type lib without checking
them out.
cmd-context mkeltype –nc –supertype binary_delta_file lib
Created element type "lib".
cmd-context cd libs
cmd-context co –nc .
Checked out "." from version "\main\1".
cmd-context mkelem –nc –nco –eltype lib libntx.lib libpvt.lib
Created element "libntx.lib" (type "lib").
Created element "libpvt.lib" (type "lib").
See also
cc.magic, checkin, checkout, chpool, config_spec, lstype, mkdir, mkeltype, mkpool, protect, update