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:
Use slashes (/), not backslashes (\) in pathnames.
Use relative, not full, pathnames whenever possible, and do not use VOB-tags in pathnames. You can ignore this restriction if your UNIX and Windows VOB-tags both use single, identical pathname components that differ only in their leading slash characters-\src and /src, for example.
Always edit and set config specs on UNIX.
The following sections describe these requirements in detail.
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.)
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):
The config spec's element rules use only relative pathnames, which do not include VOB-tags.
Shared VOBs are registered with identical, single-component VOB-tags in both Windows and UNIX network regions. (The VOB-tags \r3vob and /r3vob are treated as if they were identical because they differ only in the leading slashes.)
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.
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:
Use relative pathnames that do not include VOB-tags, for example:
element ...\abc_proj_src\* \main\rel2\LATEST
On UNIX, change the VOB-tag so that it has a single component, /vob_p2.
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |