How to remove checked-out references of a view from a VOB

Technote (FAQ)

Question

How do you remove IBM Rational ClearCase checkout references that are cataloged in the VOB database for removed or inaccessible view using the "rmview" command?

Cause

Any one the following symptoms may be experienced:

Attempts to perform a checkout results in the following error: %cleartool co foo.c cleartool: Error: Element "foo.c" is already checked out to view "<no-tag-in-region>".

Attempts to uncheckout a file result in the following error:%cleartool unco foo.c "Cannot_generate_name_for_checkout_in_view:.."

You may also see errors such as the following if the view storage directory has been renamed:

Attempt to checkout an element which was checked out to a view whose view storage director name was changed reports the error: cleartool: Error: Branch "\main" of element is checked out reserved by view checked-out_ref_test_sview ("V357978ms2:c:\ClearCase_Storage\views\user1\tkajiwara\checked-out_ref_test_sview.vws"). cleartool: Error: Unable to check out "a.txt".

After checking out an element to a snapshot view and renaming the view storage directory, trying to unco the element from the snapshot view reports an error: C:\SnapshotViews\checked-out_ref_test_sview\vob03\a>cleartool unco a.txt cleartool: Error: Operation "view_get_prop(VIEW_PROP_WEBVIEW)" failed: view storage directory or control files unavailable -- additional information may be present in the view server host's view log.

The checkout may be failing because the file is already checked out reserved to a view that was either removed or is no longer accessible on the network.

In the following cases, you need to remove the reference from the VOB database to checkout the file from a different view.

If a view has become inaccessible.

If a view was deleted unintentionally and the VOB database still holds references to the checkouts.

Answer

Important Note: Only run this procedure if the data contained in the view (the checkouts) are no longer needed or if the view no longer exists. This operation performs an uncheckout in the VOB database for all elements that were related to the view. If a view still exists and you use the procedure below to delete records relating to it from any VOB, make sure that the view is removed immediately.

MULTISITE CONSIDERATIONS: If removing the view checkout references from a replicated VOB, the rmview command should be run at the site where the view checkouts were originally performed. If the original replica no longer exists, you can run the rmview on the site that pulled mastership from the deleted replica.

Command to run if the view exists:From the command line you will need to run cleartool lsview -long and find the view and copy its uuid number. If you have more than one region, you may have to add the -region option to the lsview command designating the non-current region name.

Remove all the references to the VOB (which will perform the uncheckout). From the command line you will need to run cleartool rmview -uuid <long uuid #> -avobs to remove all the checked out references from all VOBs in that region.

Note: If a directory has been unchecked out, then all new elements created when it was checked out are no longer referenced by that directory. Consequently, they were all moved to the lost+found directory.