rmname
Removes the name of an element or VOB symbolic link from a directory version
Applicability
Product |
Command type |
---|---|
VersionVault |
cleartool subcommand |
VersionVault Remote Client |
rcleartool subcommand |
Platform |
---|
UNIX® |
Linux® |
Windows® |
Synopsis
- VersionVault:
- rm/name [ –c/omment comment | –cfi/le comment-file-pname | –cq/uery
- | –cqe/ach | –nc/omment ]
[ –nco ] [ –f/orce ] pname ...
- VersionVault Remote Client:
- rm/name [ –c/omment comment | –cq/uery | –cqe/ach | –nc/omment ] pname ...
Description
By default, a name can be removed from a directory only if that directory is checked out and there are no checkouts for that element. rmname appends an appropriate line to the directory's checkout comment.
rmname modifies one or more checked-out directories by removing the names of elements and/or VOB symbolic links (in the manner of the UNIX® and Linux® unlink(2) system call). Old versions of the directories do not change; the names continue to be cataloged in the old versions.
To remove a name from a checked-in directory version, you can use the –nco option. For example, you may want to remove an old symbolic link that points to a file that has been removed.
In a snapshot view, this command implicitly executes an update operation on the affected elements.
Example: Suppose you checked out version 3 of a directory named a.dir. Only your view sees this directory version while it is checked out. The command rmname foo.c deletes the name foo.c from the checked-out version of the directory, but leaves references to foo.c in earlier versions (if any) intact. When you check in the directory, all views can access the new version 4, which does not include foo.c.
Keep the following points in mind:
- rmname does not delete elements themselves, only references to elements. Use rmelem (very carefully) to delete elements and all their names from their VOBs.
- Removing the last reference to an element name causes the element to be orphaned. Such elements are moved to the VOB's lost+found directory. (See the mkvob command for details.)
- Removing the last reference to
a VOB symbolic link works differently depending on whether the VOB
is replicated:
- If the VOB is unreplicated, the link object is deleted.
- If the VOB is replicated, the link object is moved to the VOB's lost+found directory.
Undoing the rmname command
To restore a directory entry for an element that has been removed with rmname, use the ln command to create a VOB hard link to the element's entry in any previous version of the directory. For example:
cmd-context checkout src |
Checkout parent directory |
cmd-context rmname src/msg.c |
Oops! |
cmd-context ln src@@/main/LATEST/msg.c src/msg.c |
Restore deleted name |
If there are no entries for the element in any previous version of the directory, the element is orphaned; that is, moved it to its VOB's lost+found directory. You can move the element to its proper location with the cleartool mv command. (You cannot use ln to link elements that are in the lost+found directory.)
Restrictions
Identities
No special identity is required if the directory is checked out; see the checkout reference page. For –nco, you must have one of the following identities:
- VOB owner
- root (UNIX® and Linux®)
- Member of the VersionVault administrators group (VersionVault on Windows®)
Locks
An error occurs if one or more of these objects are locked: VOB.
Mastership
(Replicated VOBs only) No mastership restrictions.
Other
You cannot use the –nco option in a replicated VOB.
Options and arguments
Event records and comments
- Default
- –nc. Creates one or more event records, with commenting controlled by your home directory's .versionvault_profile file. 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.
Removing a name
- Default
- The parent directory must be checked out and there can be no checkouts of the element.
- –nco
- Prompts for confirmation (unless used with –force),
then removes the name or link from the checked-in directory version
that you specify. Note: You cannot use –nco in a replicated VOB nor in an unreplicated VOB that prohibits privileged remote access (for example, a VOB that was created using mkvob ... -nremote_admin ...).
- –f/orce
- Forces the removal of the name when there is at least one checkout of the element. When used with –nco, suppresses the prompt for confirmation.
Specifying the names to be removed
- Default
- None.
- pname ...
- One or more pathnames, specifying the elements and/or VOB symbolic links whose names are to be removed from their parent directory. You can specify an element itself, or any of its branches or versions.
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.
- Delete the name util.c from
the current directory version.
cmd-context rmname util.c
Removed "util.c". - Delete the last reference to the
directory element subd from the current directory
version.
cmd-context rmname subd
cleartool: Warning: Object "subd" no longer referenced.
Object moved to vob lost+found as
"subd.5a200007ed11f0d709066505efe922a8".
Removed "subd". - Delete the name hello.h from the directory
version .@@\main\2.
cmd-context rmname –nco –force .@@\main\2\hello.h
Removed ".@@\main\2\hello.h".