Using checkvob to find and fix broken hyperlinks

Careful use of checkvob –hlinks can find and allow you to fix problems with administrative VOB hierarchies.

About this task

In hyperlink mode, checkvob examines the hyperlinks that point to and from a VOB object itself. (It does not examine hyperlinks that point to or from objects in the VOB.) There are several predefined cross-VOB hyperlink types, including AdminVOB hyperlinks (see VOB datatypes and administrative VOB hierarchies) and RelocationVOB hyperlinks that link a VOB to another VOB to which some of its contents have been relocated (see Relocating elements to another VOB). You can also define your own hyperlink types and use them to connect one VOB to another.

checkvob –hlinks reports any cross-VOB hyperlinks that appear to be broken. A cross-VOB hyperlink can appear to be broken for any of the following reasons:
  • The VOB at the other end of the hyperlink has no tag in the current region.
  • The VOB at the other end of the hyperlink has no replica in the current registry.
  • The VOB at the other end of the hyperlink has been removed.
Note: Do not run checkvob –hlinks before you run checkvob –ucm (see Using checkvob in a UCM environment). checkvob –hlinks might prompt you to remove hyperlinks that checkvob –ucm can fix.

Example

When you run checkvob –hlinks, it reports problems in the following way:

cleartool checkvob –hlinks vob:vob_tag
Unable to determine if the following hyperlink is intact.
hlinkID fromVOB -> toVOB
Delete it? [no]

where hlinkID is a hyperlink identifier of the form HlinkType@id@vob-tag, fromVOB identifies the VOB at which the hyperlink originates and toVOB identifies the VOB to which the hyperlink points. If any of hlinkID, fromVOB, or toVOB cannot be determined, it is displayed as <unavailable>. For example:

cleartool checkvob -hlinks vob:\projects
Unable to determine if the following hyperlink is intact.
<hlink-id not available> <object not available> -> vob:\projects
Delete it? [no]

Accept the default and leave the hyperlink in place unless you are certain that checkvob has found a cross-VOB hyperlink that refers to a VOB that has been deleted. This is especially important when using HCL VersionVault MultiSite, because hyperlink removed by checkvob –hlinks are replayed at other replicas where the hyperlinks might still be valid. This can result in the removal of valid AdminVOB hyperlinks, which can cause problems for administrative VOB hierarchies.