The RESERVE command checks out a version of a controlled element.
A controlled element is one of the following:
o An element you created using Oracle CDD/Repository inside a
context
o An element you have controlled with the CONSTRAIN command
You must have a context set to issue the RESERVE command.
If you are issuing the RESERVE command in a distributed
environment, you must issue the ENTER command before issuing
the RESERVE command.
The RESERVE command creates a copy of the immutable version that
is stored in the base partition associated with your context.
This copy is called a ghost; it is reserved to your context and
you can modify it.
In general, the ghost has a version number that is one number
higher than that of the original version in the partition. For
example, if you reserve PRODUCT(1), the ghost of this version is
called PRODUCT(2).
If, however, you specify the creation of a parallel line of
development (or branch), the ghost becomes the first version
in that branch line. For example, if you reserve PRODUCT(2) with
a /BRANCH=AUDITOR qualifier, the ghost copy of this version is
called PRODUCT(2:AUDITOR:1).
If you specify the /BRANCH qualifier, you can reserve any version
of a controlled element in a line of descent that is available
for reservation. If an element is uncontrolled, an error occurs
if you attempt to reserve any version but the latest version in a
line of descent.
An error occurs if you issue the /BRANCH qualifier with a branch
name already in use.
An error occurs if you attempt to reserve a child without
previously reserving its owners. Use the /CLOSURE qualifier to
reserve as many elements as necessary.
An error occurs if you attempt to reserve a version of an
uncontrolled element that has already been reserved. An element
can have only one outstanding reservation.
When you finish modifying your working copy of a version, you use
the REPLACE command to check in the new version to the partition
or the repository.
If you decide to discard the changes you have made to your
working copy, use the UNRESERVE command to cancel your
reservation and destroy your copy.
If you decide to merge a branch line that you have created back
into the main line of descent, use the MERGE command.
When reserve is invoked with a branch name specified, the new
ghost version is created with a name that incorporates the branch
name and is properly linked to the element from which the branch
line originates.
If the target of a reserve notice is involved in one or more
correspondence relationships, those relationships may be
propagated to the new version.