mkelem
Creates a file or directory element
SYNOPSIS
- mkelem [ –elt·ype element-type-name ]
[ –nco | –ci [ –pti·me ]
]
- [ –mkp·ath ] –master ]
[ –nwa·rn ]
[ –c·omment comment | –cfi·le comment-file-pname
| –cq·uery | –cqe·ach | –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 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:
- 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 the VOB's group list.
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. See the cc.magic reference page for details on file-typing.
- –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 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),
complains 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
- For an element that is being created from a view-private file or directory,
this option creates elements from its view-private parent directories. 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 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.
- Create
a file element named rotate.c of type compressed_text_file,
and check out the initial version (version 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.
- Convert
a view-private file named test_cmd.c to an element, and
check in the initial version.
- Create
two directory elements and check out the initial version of each.
- 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.
SEE ALSO
cc.magic, checkin, checkout, chpool, config_spec, lstype, mkdir, mkeltype, mkpool, protect, update