Windows および UNIX システムでは、テキスト ファイルでの行末の書き込みに関してそれぞれ異なる規則が設けられています。通常、UNIX のユーティリティとアプリケーションでは、単一の <LF> (改行) 文字で行が終わりますが、Windows のユーティリティとアプリケーションでは、2 文字の <CR><LF> (復帰、改行) 文字シーケンスで行が終わります。 Windows アプリケーションには、どちらのフォーマットのファイルでも読み取りと表示が可能なものや、常に <CR><LF> フォーマットを使ってファイルを書き込むもの、また、どちらのフォーマットを使うかを決められるように構成できるものがあります。
このようなそれぞれ異なる規則が原因で、Windows および UNIX システムの両方のプラットフォームで編集されるテキスト ファイルでは問題が発生することがあります。例えば、以下が含まれるファイルがあるとします。
abc
def
ghi
この場合、[メモ帳] などの Windows エディタで作成されたものを、vi などの UNIX エディタで読むと、次のようになります。
abc^M
def^M
ghi^M
UNIX テキスト エディタは、<CR> 文字を ^M に変換します。同じファイルでも、UNIX エディタで作成してから Windows エディタで読むと、次のようになります。
abcdef
ghi
混合環境での並行開発のサポートを強化するために、アプリケーションでテキスト ファイルを表示するときの行終了文字の取り扱い方を制御するためのビューのテキスト モード設定が用意されています。
すべての ClearCase ビューは、行終了文字シーケンスの処理方法を指定するテキスト モード (行末) 設定を使って作成されます。 この設定が適用されるのは、エレメント タイプが text_file またはタイプ text_file のサブタイプのファイルに対してだけです。 ビューを作成するときは、ビュー テキスト モードを指定しなければなりません。 ビューの作成後に変更することはできません。
ビュー作成ウィザードでは、以下の行末設定がサポートされています。
ビューのテキスト モードに基づいた VOB へのアクセスを規制するポリシーは実施されていません。「誤った」テキスト モード構成をもったビュー内のファイルをユーザーが編集すると、そのファイルを編集する必要のある他のユーザーにとって問題が発生する原因になります。 Windows と UNIX の両方の開発プラットフォームをもったサイトでは、1 次開発プラットフォームのユーザーがトランスペアレント テキスト モードでビューを作成できるようにするとともに、strip_cr または insert_cr テキスト モードの使用を、それぞれ異なる行終了文字規則を必要とするプラットフォームのみに限定するポリシーを取り入れることが必要です。開発者の大多数が UNIX システムでテキスト ファイルを編集する場合、UNIX クライアントは、トランスペアレント テキスト モードで作成されたビューを使用する必要があります。Windows クライアントは、insert_cr テキスト モードで作成されたビューを使用しなければなりません。 開発者の大多数が Windows でテキスト ファイルを編集する場合、Windows クライアントは、トランスペアレント テキスト モードで作成されたビューを使用する必要があります。UNIX クライアントは、 strip_cr テキスト モードで作成されたビューを使用する必要があります。
プロジェクトに取り入れたポリシーがどのようなものであっても、クライアントのプラットフォーム、ビューのテキスト モード、およびエレメントの組み合わせの整合性を保つことが大切です。 例えば、UNIX システム上のユーザーが strip_cr または insert_cr テキスト モードをもったビューでエレメント バージョンを作成し、UNIX システム上の別のユーザーが、トランスペアレント テキスト モード ビューで同じエレメント バージョンを作成すると、その 2 つのバージョンの比較またはマージは困難になります。