ビューのテキスト モードについて

プラットフォームのタイプによってテキスト ファイルの行末処理が異なるため、Rational® ClearCase® のビューではテキスト モードが必要になります。ビューのテキスト モードによって、ビュー記憶域、VOB サーバー、クライアントが動作しているプラットフォームに関係なく、Rational ClearCase によるテキスト ファイルの行末処理がきまります。

UNIX と Windows でのテキスト ファイルの行末処理

Linux® および UNIX® システムと Windows® は、テキスト ファイルの行末処理を異なる表記規則に従って行います。通常、Linux および UNIX システムでは、行末を <LF> (改行、<NL> または復帰改行) 1 文字だけで表します。Windows システムでは、行末を <CR><LF> (復帰、改行) の 2 文字で表します。Windows アプリケーションには、両方の形式のファイルを読み取って表示できるもの、ファイルの書き込みは常に <CR><LF> 形式で行うもの、どちらの形式を使用するかを指定できるものがあります。また、Windows の行末処理を使用する UNIX エディタや、UNIX の行末処理を使用する Windows テキスト エディタもあります。

このように表記規則が異なる結果、Linux、UNIX と Windows の両方のプラットフォーム上で同一のファイルの編集のために使用されるテキスト エディタが異なるために、行末処理の問題が発生します。 例として、以下の内容を含むファイルを取り上げます。

abc
def
ghi

これが一般的な Windows のエディタで作成された場合、vi などの一般的な UNIX エディタで読み取ると、以下のように表示されます。

abc^M
def^M
ghi^M

UNIX のテキスト エディタは、<CR> 文字を ^M と表示します。同じファイルを一般的な UNIX エディタで作成し、メモ帳などの一般的な Windows エディタで読み取ると、以下のように表示されます。

abcndefnghi

オペレーティング システムの混在環境での並行開発をより適切にサポートするため、テキスト ファイルをアプリケーションで表示するときに行末処理を制御する、ビューのテキスト モードを設定できるようになっています。 この設定が適用されるのは、エレメント タイプが text_file またはタイプ text_file のサブタイプのファイルに対してだけです。 ビューのテキスト モードは、ビューの作成時に指定します。 ビューの作成後に、ビューのテキスト モードを変更することはできません。

テキスト モード

Rational ClearCase には次のテキスト モードがあります。

トランスペアレント (以前の unix)
行末処理は行われません。
insert_cr (以前の msdos)
各 <LF> 文字の前に <CR> 文字が挿入されます。
strip_cr
各 <CR><LF> シーケンスから <CR> 文字が除去されます。

ビューのテキスト モードは、ビューのプロパティで確認できます。

Windows コンピュータでのサイト全体のプロパティとテキスト モードの Rational ClearCase ユーザー オプション

Windows コンピュータの場合、GUI を通じてビューを作成するときのデフォルトのテキスト モードは、Rational ClearCase レジストリのサイト全体のプロパティ、view_interop_text_mode で決まります。 詳しくは、setsite リファレンス ページを参照してください。 view_interop_text_mode を TRUE に設定すると、デフォルトのテキスト モードは insert_cr テキスト モードになります。 view_interop_text_mode を FALSE に設定すると、デフォルトはトランスペアレント テキスト モードになります。 cleartool lssite-inquire コマンドで、現在の値がリストされます。

Windows コンピュータの場合、[ClearCase ユーザー オプション] ウィンドウの [ビュー オプション] ページで、GUI を通じてビューを作成するときのデフォルトのテキスト モードを決定するプリファレンスを指定できます。interop (MS-DOS) テキスト モードをオンにすると、デフォルトのテキスト モードは insert_cr モードになります。 interop (MS-DOS) テキスト モードをオフにすると、デフォルトはトランスペアレント テキスト モードになります。 このプリファレンス設定は、サイト全体のプロパティ view_interop_text_mode のデフォルト設定を上書きします。

ビューの作成とテキスト モード

次のいずれかのテキスト モードでビューを作成できます。 UNIX ワークステーションでは、デフォルトでビューはトランスペアレント テキスト モードで作成されます。 Windows コンピュータの場合、これと異なるサイト全体のプロパティのデフォルトや Rational ClearCase ユーザー ビュー オプションが設定されていなければ、ビューはデフォルトでトランスペアレント テキスト モードで作成されます。

デフォルトにかかわらず、明示的にトランスペアレント テキスト モードでビューを作成するには、Linux と UNIX システムまたは Windows のビュー作成ウィザードの [詳細設定オプション] で、[UNIX/Windows 相互運用テキスト モードを使用] チェックボックスをオフにするか、mkview コマンドに -tmode transparent オプションを使用します。 以前のバージョンの Rational ClearCase のマニュアルとインターフェイスでは、トランスペアレント テキスト モードを unix テキスト モードと呼んでいます。

insert_cr テキスト モードでビューを作成するには、Windows のビュー作成ウィザード GUI の [詳細設定オプション] で、[UNIX/Windows 相互運用テキスト モードを使用] チェックボックスをオンにするか、mkview コマンドに -tmode insert_cr オプションを使用します。 以前のバージョンの Rational ClearCase のマニュアルとインターフェイスでは、これを interop テキスト モードまたは msdos テキスト モードと呼んでいます。

strip_cr テキスト モードでビューを作成するには、mkview コマンドに -tmode strip_cr オプションを使用します。

ヒント: どのグラフィック ユーザー インターフェイス (GUI) からも、strip_cr テキスト モードでビューを作成することはできません。

insert_cr または strip_cr テキスト モードで作成されたスナップショット ビューでは、ビューが更新されるときはいつでも <CR> 文字が追加または除去されます。動的ビューでは、ファイルを開いて読み取るときに <CR> 文字が追加または削除されます。スナップショット ビューと動的ビューのいずれでも、チェックイン プロセスでは <CR> の扱いが逆になります (<CR> 文字が適宜追加または削除される)。

製品メモ: Rational ClearCase LT 環境では動的ビューをご使用になれません。

フィードバック