This technote goes over causes and resolutions for the error Checkout disallowed for element...it belongs to a component that is read-only in this project when accessing an IBM® Rational® ClearCase® UCM component VOB.
Attempts to perform some ClearCase operations such as cleartool checkout or cleartool mkelem, in a UCM component results in the following error:
cleartool: Error: Checkout disallowed for element ".": it belongs to a component that is read-only in this project.
cleartool: Error: Unable to check out ".".
All mounted VOBs will appear in dynamic views that are in use on the local host, whether they are UCM component VOBs or Base ClearCase VOBs. However, when accessing a Base ClearCase VOB (from a UCM view) and trying to perform a checkout or an add to source control, the above error will occur.
This is the most common occurrence of this error. In some instances, a VOB that is used to store components, known as a Multiple Component VOB, is also used for Base ClearCase users. The above error will occur if the directory that you are accessing is either not a UCM sub-VOB component, or if it is just not in the project's configuration.
For more information on UCM components and Multiple component VOBs, refer to IBM Rational ClearCase Command Reference, or run cleartool man mkcomp. Also see the information detailed on Working in UCM in IBM Rational ClearCase Managing Projects.
The UCM component can be read-only (or non-modifiable) in the project. When it is read-only in the project that the checkout is being performed from, then the above error will get returned.
It is possible for UCM component VOBs to be shared with a Base ClearCase environment. If an element or an element version is created from a Base ClearCase view, then it will not be catalogued under the UCM Component or in the change set of any UCM activity. A checkout of this element version from a UCM view will result in the above error.
Resolving the problem
You will need to verify that the VOB or subdirectory that you are attempting to work in is both a UCM component and that it is included in the project's configuration that you are trying to access it from.
- Verify the VOB or subdirectory is a component:
- From command line, access your view and change directory (cd) into the target path that you were trying to checkout from in the VOB. Then refer to technote 1147165.
1. Verify that the UCM component is in the project's configuration:
- A baseline from the component will be listed under the integration stream's configuration, run cleartool lsstream -l; for example:
19-Feb-03.17:43:33 by CCadmin (ccadmin.usr@echo01)
- After verifying that the component is in the stream's configuration, then also confirm that it is in the configuration of the development (or child) stream, cleartool lsstream -long devstr1. The output will be similar to the above example, review the foundation baselines to confirm that a baseline from the component is listed.
Note: If the component should be added to the configuration of the project, refer to technote 1147087 for directions on Windows, or from UNIX and Linux use cleartool rebase -baseline, refer to cleartool man rebase for more details. To make the component modifiable in the project, refer to the details under Solution 2.
Verify the component is not set to read-only for the project. You can use cleartool lsproject -l and review the modifiable list. This list will only contain components that are modifiable in the project; for example:
cleartool lsproject -long p7
19-Feb-03.17:43:08 by Sheila Hunt (sheila.user@echo01)
integration stream: int7@/vobs/sheila_testpvob
default rebase promotion level: INITIAL
Refer to technote 1152797.
Ensure that the element being checked out belongs to a UCM component and that the component is modifiable for the project associated with the current view.
To determine if the element version that you are trying to checkout is a UCM object, you can check the details on the element version or any metadata attached to it using cleartool describe -long.
Some information is also visible in the version tree for the element. This can be accessed from the GUI by right-clicking the element version, and selecting Version Tree, or from command line using cleartool lsvtree, and for information on its use run cleartool man lsvtree.
Hardcopy can be ordered from the IBM Publications Center
On-line documentation can be found:
- Microsoft® Windows®: C:\Program Files\Rational\ClearCase\doc\books
- UNIX® and Linux®: /opt/rational/clearcase/doc/books
|Software Development||Rational ClearCase||UCM: Component|