更新ブリングオーバートランザクションで検出される衝突の解決には、衝突解決のトランザクションウィンドウを使用します。衝突解決トランザクションは、ユーザーとファイルマージとの間の仲介役として働き、マージプロセスを調整します。
ワークスペース管理ツールは、更新ブリングオーバートランザクションの実行時に衝突を検出すると次のような処置をとります。
親ワークスペースの新しいデルタを子の SCCS 履歴ファイルにマージします。
子の Codemgr_wsdata/conflicts ファイルにそのファイルのパス名を記録します。
デフォルトの設定では、ワークスペース管理ツールはファイルリスト区画からファイルリストを自動的に順番に処理していきます。衝突の解決が完了すると、自動的にリスト内の次のファイルの処理に移ります。明示的に選択したファイルだけを個別に処理させたい場合には、「ツール属性」ダイアログの衝突解決カテゴリで「自動的に進む」オプションの選択を解除してください。
衝突はすぐに解決しなくてもかまいません。衝突の検出後も引き続き、子ワークスペース内で衝突ファイルの変更を行なったり、新しいデルタを作成したりすることができます。この場合、新しいデルタはブランチ上に作成されます。最終的にこの衝突を解決する際には、最新のデルタが親からコピーしてきたバージョンとマージされます。ただし、衝突は、ファイルを親にプットバックする前に必ず解決しておかなければなりません。
ワークスペース管理ツールは、子の SCCS 履歴ファイルに新しいデルタを作成する際に、次のような標準のコメントを挿入します。
ワークスペース間で変更をマージしました。
デフォルトの設定では、ワークスペース管理ツールはこのコメントにユーザー固有のコメントを追加するように要求するプロンプトを出しません。標準のコメントにユーザー自身のコメントの入力を求めるプロンプトを出すようにするには、「ツール属性」ダイアログで衝突解決カテゴリ「チェックインコメントのプロンプト」オプションを選択してください。
ワークスペースでの衝突を解決するには:
衝突が存在するファイルを含むワークスペースのアイコンをダブルクリックする。
衝突解決のトランザクションウィンドウが開き、衝突が存在するファイルの名前が衝突ファイルリスト区画に表示されます。
衝突ファイルリスト区画でファイルを選択し、「衝突をマージ」ボタンをクリックする。
ファイルマージが起動し、衝突ファイルリスト区画内のファイルの処理が開始されます。ワークスペース管理ツールは、リスト内の各ファイルについて、SCCS 履歴ファイルから親デルタ、子デルタ、および共通祖先デルタを抽出し、それぞれのパス名をファイルマージに渡します。ファイルが読み込まれ、マージの準備が完了すると、「ファイルマージ」ウィンドウが開きます。
ファイルマージを使用して、ファイルの親バージョンと子バージョンの相違を解決する。
詳細は、第 12 章「ファイルマージの起動とファイルの読み込み」を参照してください。
ファイルマージでファイルを保存する。
ファイルマージによりファイルの親バージョンと子バージョンの相違の解決が終了すると、ワークスペース管理ツールは、子の SCCS 履歴ファイルに新しいデルタを作成し、衝突が解決したファイルの名前を conflicts ファイルから削除します。新しいデルタは、ファイルマージでのマージ結果を含んでいます。