スナップショット ビューのシンボリック リンク

スナップショット ビュー内でのシンボリック リンクの動作は、Linux® および UNIX® システムと、Windows® システムとで異なります。

Linux および UNIX システムでの動作

Linux または UNIX システムで作成されたスナップショット ビューは、標準シンボリック リンクの動作を保ちます。 スナップショット ビューのロードに関連したコンテキストでは、リンクは VOB リンク (VOB 内のオブジェクトをポイントするリンク) か VOB 以外のリンク (VOB の外をポイントするリンク) として扱われます。VOB ハード リンクはリンク本体で、シンボリック リンクはコピーして作成されたリンクです。 VOB リンクが解決できないときは、エラーとなります。VOB 以外のリンクは、可能であれば解決できますが、解決できないとしても、エラーとはなりません。

ヒント: Linux または UNIX システムで Rational® ClearCase® クライアントからスナップショット ビューを作成すると、そのビューを含むファイル システムがシンボリック リンクをサポートするものと見なされます。ファイル システムがシンボリック リンクをサポートしない場合、更新操作中に VOB リンクが検出されるとエラーが報告されます。

Linux または UNIX システムの場合、ロード規則でシンボリック リンクが選択されると、(ロード規則にリンク ターゲットを選択するかどうかにかかわらず) リンクとリンク ターゲットがスナップショット ビューにコピーされます。動的ビューの場合と同様に、シンボリック リンクをチェックアウトすることはできません。代わりにシンボリック リンクのターゲットをチェックアウトします。

ロード規則でスナップショット ビュー内のハード リンクが選択されるたびに、エレメントはハード リンクとして作成されず、代わりに標準ファイルとしてビューにロードされます。

Windows システムでの動作

Windows ソフトウェアを実行する Rational ClearCase ホストで作成されたスナップショット ビューは、リンクをサポートしません。以下のような、VOB シンボリック リンクに近い動作が行われます。
  • ロード規則によりシンボリック リンクが選択される場合、リンク パスでリンク ターゲットがビューにコピーされます。

    ビルドに必要でない限り、ビューで 1 つのリンクされたディレクトリを 2 回以上ロードしないでください。2 回以上ロードされたエレメントは正確に追跡されるものの、ファイルを取り違えたり、ファイルの誤ったコピーを削除して、チェックイン時に情報を失うことがあります。

    ロードするエレメントを選択するときには、GUI に表示されるエレメントのアイコンに注意してください。 エレメント アイコンの斜めの矢印はシンボリック リンクを表します。次の例を参照してください。

  • シンボリック リンク パスからファイル エレメントをチェックアウトすることはできません。リンク ターゲットをチェックアウトする必要があります。

    Rational ClearCase エクスプローラでは、シンボリック リンクのショートカット メニューに Symlinks コマンドが組み込まれます。このコマンドは、コンテキストをターゲットを含むディレクトリに変更するか ([シンボリック リンク ターゲットにワープ])、コンテキストを変更せずにターゲット上で Rational ClearCase 操作を実行するコマンドを提供します ([シンボリック リンク ターゲット操作])。 これらのコマンドの 1 つを使用して、リンク ターゲットを検索してチェックアウトします。 変更したリンク ターゲットをチェックインすると、ビュー内にロードされているすべての関連付けられたシンボリック リンクが更新されます。

    ディレクトリ リンク ターゲットの場合とは異なり、ファイル リンク ターゲットはビュー内にロードされている場合だけチェックアウトできます。

  • [ソース管理に追加] コマンド (Rational ClearCase GUI から実行できます) は、ディレクトリ シンボリック リンクから発行した場合でも、リンク ターゲットから発行した場合でも、(また、ターゲット ディレクトリがビューにロードされているかどうかにかかわりなく)、リンク ターゲット ディレクトリをチェックアウト、変更、チェックインします。

    シンボリック リンク ディレクトリから cleartool checkout コマンドを発行する場合には、次の構文を使用する必要があります。

    cleartool checkout .

    現在のディレクトリに対して発行された checkout コマンドは、ターゲット ディレクトリがビューにロードされているどうかにかかわらず、リンク ターゲットをチェックアウトします。

    ただし、cleartool checkout dirname コマンド形式を使用して異なるディレクトリをチェックアウトする場合、dirname はリンク ターゲットでなければなりません。

    ユーザーがリンク ターゲット ディレクトリを明示的にチェックインしたとき、またはリンク ターゲット ディレクトリが暗黙的にチェックインされたとき、ビューにロードされている関連付けられたシンボリック リンクが更新されます。

  • ファイル シンボリック リンクをハイジャックすると、更新ツールによってハイジャックが検出されます。しかし、ハイジャックされたシンボリック リンクをチェックアウトすることはできません。ハイジャックされた変更を VOB に追加するには、リンク ターゲットをチェックアウトし、変更する必要があります。

ロード規則でハード リンクが選択されるたびに、エレメントが標準ファイルとしてビューにロードされます。スナップショット ビュー内でハード リンクを使用する場合には、データが失われることがあるので、注意が必要です。

関連概念
スナップショット ビュー内のハード リンク
スナップショット ビュー内の VOB リンクのチェックインについて
動的ビューにおけるシンボリック リンクおよびハード リンク
スナップショット ビューからチェックインを行う方法
スナップショット ビューからチェックアウトを行う方法
ハイジャックされたファイルについて
関連タスク
VOB シンボリック リンクの作成
VOB リンクのターゲットの参照 (Windows)
関連資料
ln

フィードバック