In general, you can work with ClearCase on either operating system with little consideration for case-sensitivity issues. In the event you encounter unexpected behavior, read this section carefully.
This section applies only to the ClearCase multiversion file system (MVFS), and thus applies only to dynamic views.
To avoid common problems, follow these general recommendations:
Click Start > Settings > Control Panel. Start the ClearCase program. On the MVFS tab, verify that ClearCase is using Case-Insensitive MVFS file lookup. This is the default setting.
Disable automatic case conversion for your NFS client or SMB server product.
Do not rely on case-sensitive names (names that differ only character case) for elements that you store in a VOB.
Consider enabling the Case Preserving option (on the MVFS tab of the ClearCase Control Panel program), especially if you are using a Java compiler or other application that expects object file names in mixed case.
WARNING: If you change the setting of the Case Preserving option, you may encounter problems when you write new versions of files that were created when the previous setting was in effect. For example, conflicts may arise if a development environment automatically generates files with mixed-case and uppercase names.
The remainder of this section explains the pertinent case-sensitivity issues on both UNIX and Windows and discusses each recommendation in more detail.
On UNIX, the native file system and all ClearCase components (MVFS, cleartool, and so on) are case-sensitive. The MVFS uses case-sensitive file lookup and performs no automatic case conversion of any kind.
Regardless of how you configure ClearCase, all ClearCase applications that refer to pathnames in VOBs, including cleartool and clearmake, are case-sensitive on both UNIX and Windows.
The remainder of this section discusses issues of case-sensitivity for dynamic views on Windows. Snapshot views use native Windows file systems (FAT, NTFS, and so on) to read and write files. These file systems perform case-insensitive file lookup and generally preserve case when writing files. We recommend that when using snapshot views, you avoid using VOB elements whose names differ only in capitalization.
Because native Windows file systems perform case-insensitive file lookup, the MVFS is configure by default to perform case-insensitive file lookup on Windows.
By default, native Windows file systems preserve case on file-creation operations. The default MVFS behavior is to convert file names to lowercase.
On Windows, the MVFS options for file name case (on the MVFS tab in the ClearCase Control Panel program) are as follows:
When you select the Case Insensitive MVFS check box (the default and recommended setting), the MVFS looks up files without regard to case. With this setting, when the MVFS writes view-private files, capitalization of file names depends on the setting of the Case Preserving check box:
When you select the Case Preserving check box, the MVFS preserves the case of the names of new view-private files.
When you clear the Case Preserving check box, the MVFS converts the names of new view-private files to lowercase. This is the default setting.
When you clear the Case Insensitive MVFS check box, the MVFS uses case-sensitive file lookup. With this setting, the MVFS preserves the case of the names of all files it creates.
NOTE: If you change any MVFS options, the new settings do not take effect until you restart your computer.
In the default mode (Case Insensitive MVFS enabled, Case Preserving disabled), the MVFS converts to lowercase the names of view-private files it creates using non-ClearCase commands, tools, and utilities (for example, .obj files and editor backup files). This behavior can combine with cleartool case-sensitivity to produce results such as the following:
Keep this example in mind when coding complex sequences of file-processing commands in makefiles. Make sure that any cleartool commands that are run from a makefile and that operate on derived objects use names in the correct case.
If you clear Case-Insensitive MVFS and select Case-Preserving, the results are as follows:
In general, we recommend that you use case-insensitive mode whenever possible. Use case-sensitive mode only if VOB files have names that differ only in capitalization. In this mode, many Windows applications may fail when they try to access files using incorrectly capitalized names. We recommend that for files you plan to access from Windows computers, you not rely on names that differ only in capitalization. A case-insensitive MVFS on Windows cannot distinguish between the two files. Under these circumstances, the results of any file access are undefined.
NFS client software for Windows computers affects the behavior that ClearCase users see. Most NFS client products can convert to lowercase the file names they create, and some do so by default. To avoid file access problems caused by case-conversion conflicts, we strongly recommend that you disable automatic case conversion for NFS client products.
Be aware that if you disable case conversion and create UNIX files without MVFS intervention (that is, you create files outside any VOB namespace), you may end up with UNIX files with names like UTIL.OBJ, because some PC tools generate uppercase names. This does not happen for a view-private object that you create in a VOB's namespace if the Case Preserving option is disabled (the default setting). In this case, the MVFS converts the name to lowercase when it creates the file.
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |