11.8 Sharing Config Specs Between UNIX and Windows

You can, in principle, share config specs between UNIX and Windows systems. That is, users on both systems, using views whose storage directories reside on either platform, can set and edit the same set of config specs.

We recommend that you avoid sharing config specs across platforms. If possible, maintain separate config specs for each platform. However, if you must share config specs, adhere to the following requirements:

The following sections describe these requirements in detail.

Pathname Separators

When writing config specs to be shared by Windows and UNIX computers, you must use slash (/), not backslash (\), as the pathname separator. ClearCase on UNIX recognizes slashes only. (Note that cleartool recognizes both slashes and backslashes in pathnames; clearmake is less flexible. See Building Software for more information.)

Pathnames in Config Spec Element Rules

Windows and UNIX network regions often use different VOB-tags to register the same VOBs. Only single-component VOB-tag names, such as \proj1, are permitted on Windows computers; multiple-component VOB-tags, such as /vobs/src, are common on UNIX.

When VOB-tags differ between regions, any config spec element rules that use full pathnames (which include VOB-tags) can be resolved when the config spec is compiled (cleartool edcs and setcs commands) but only by computers in the applicable network region. This implies a general restriction regarding shared config specs: a given config spec must be compiled only on the operating system for which full pathnames in element rules make sense. That is, a config spec with full pathnames is shareable across network regions, even when VOB-tags disagree, but it must be compiled in the right place.

The restrictions do not apply if either of the following is true (see Example):

Config Spec Compilation

A config spec that is in use exists in both text file and compiled formats. A config spec's compiled form is portable. The restriction is that full VOB pathnames in element rules must be resolvable at compile time. A config spec is compiled when you edit or set it (with the cleartool edcs or cleartool setcs command or a ClearCase GUI). If a user on the other operating system recompiles a config spec (by issuing the edcs or setcs command or causing the GUI to execute one of these commands) the config spec becomes unusable by any computer using that view. If this happens, recompile the config spec on the original operating system.

Example

This config spec element rule may cause problems:

element \vob_p2\abc_proj_src\* \main\rel2\LATEST

If the VOB is registered with VOB-tag \vob_p2 on a Windows network region, but with VOB-tag /vobs/vob_p2 on a UNIX network region, only Windows computers can compile the config spec.

To address the problem, do one of the following: