Behavior of symbolic links in snapshot views differs between Linux® and the UNIX® system and the Windows® system.
Snapshot views created from Linux or the UNIX system maintain standard symbolic link behavior. In the context of loading a snapshot view, links are treated as VOB links (those that point to objects inside the VOB) and non-VOB links (those that point outside the VOB). Hard VOB links are followed; symbolic links are copy-created. If a VOB link cannot be resolved, an error results. Non-VOB links are resolved, if possible, but it is not an error if they cannot be resolved.
On Linux or the UNIX system, if a load rule selects a symbolic link, the link and the link target are copied into the snapshot view (regardless of whether a load rule selects the link target). As with dynamic views, you cannot check out a symbolic link; you must check out the symbolic link target.
Each time a load rule selects a hard link in a snapshot view, the element is loaded in the view as a standard file instead of being created as a hard link.
Do not load a linked directory more than once in your view unless it is necessary for build purposes. Although multiply-loaded elements are tracked accurately, you may become confused and modify the wrong copy of a file, losing information upon checkin.
When you are choosing elements to load, note the element
icons displayed in the GUI. A diagonal arrow on the element icon indicates
a symbolic link, as in the following example:
In Rational ClearCase Explorer, the shortcut menu for a symbolic link includes the Symlinks command, which changes your context to the directory containing the target (Warp to Symlink Target) or provides commands to perform Rational ClearCase operations on the target without changing your context (Symlink Target Operations). Use one of these commands to find and check out the link target. When you check in the modified link target, all associated symbolic links loaded in your view are updated.
Unlike directory link targets, a file link target can be checked out only if it is loaded in your view.
If you issue the cleartool checkout command from a symbolic link directory, you must use the following syntax:
cleartool checkout .
A checkout command issued for the current directory checks out the link target whether the target directory is loaded into the view.
However, if you use the cleartool checkout dirname form of the command to check out a different directory, dirname must be a link target.
When either you explicitly check in a link target directory or a link target directory is implicitly checked in, the associated symbolic links that are loaded in your view are updated.
Each time a load rule selects a hard link, the element is loaded in the view as a standard file. Be careful if you use hard links in snapshot views because you can lose data.