OSF DCE Administration Guide--Core Components
Using the CDS Subtree Commands to Restructure CDS Directories
To copy the descendants of any child directories of a directory to a target location,
you must use the -tree option of the command. For example, if the /.:/eng
directory in the previous example included the child directories dev and qa , and
you wanted to merge the contents of these directories into the target directory
/.:/rnd, you would enter the following command line:
dcecp> directory merge /.:/eng -into /.:/rnd -tree
By default, the directory merge command places all object entries, soft links, and
child directories in the target directory’s master clearinghouse. You can, however,
place child directories in another clearinghouse. To do this, you use the
-clearinghouse option of the command to specify the name of the other
clearinghouse.
Note that you are allowed to specify only one alternate clearinghouse in the
-clearinghouse option. If you wish to place child directories in different alternate
clearinghouses, you must issue separate directory merge commands for each
clearinghouse, or you must issue a single directory merge command to place all
the child directories in one clearinghouse, then relocate the directories after the
merge operation.
Note: The CDS objects created by the directory merge command retain
all of the writable attribute values and some of the read-only
attribute values of the source objects. However, these objects do not
inherit the ACLs of the source objects. If the merged object is a
directory, the directory merge command gives it the default ACLs
of the initial container. If the merged object is any other CDS object
type, the directory merge command gives it the default ACLs of the
initial object.
If the directory merge command encounters problems with the merge operation,
it behaves in one of two ways. If you include the -nocheck option, the command
does not check for errors before performing the operation. It proceeds
immediately to perform the operation, and, if it encounters an error, stops. If you
omit the -nocheck option, the command checks for certain error conditions before
starting the merge. If it finds errors, it displays messages for the errors and stops;
otherwise, it proceeds with the merge.
Error messages returned by the directory merge command identify the CDS
entity causing the problem and provide a brief description of the problem. You
should fix any problems that the command encounters, before running it again.
(See Section 20.3 for more information on the types of errors that can occur during
a merge operation.)
3. After the merge operation, the /.:/eng directory (and its contents) still exists at the
source location. Run the following commands to delete the /.:/eng directory from
its original location and create a soft link named /.:/eng in place of the deleted
directory. The soft link will redirect lookups of the obj1 and link1 object entries
to their new locations in the /.:/rnd directory.
It is recommended that you perform a skulk on a source directory before deleting
it. This synchronization of the directory’s replicas can prevent errors that cause
the delete operation to fail.
124243 Tandem Computers Incorporated 20−3