更新ブリングオーバーあるいはプットバックトランザクションが起動された場合、ワークスペース管理ツールは指定された処理を行う前にいくつかの事柄を決定しなければなりません。あるワークスペースから別のワークスペースにファイルを無差別にコピーすると、保持しておきたい作業途中のファイルがコピー元のファイルで置き換えられてしまう可能性があります。そこでワークスペース管理ツールは、コピー対象として指定されたすべてのファイルをチェックして、コピー先ワークスペース内の各対応ファイルとの関係を保つことができるかどうかを判断します。
たとえば、ある開発者があるファイルを最後に自分のワークスペースにコピーした後、親ワークスペース内でこのファイルに変更が加えられた場合 (おそらく別の子ワークスペースからプットバックされた) を考えてみましょう。この開発者は自分のワークスペース内の同じファイルに独自の変更を加えています。ここで、このファイル (またはこのファイルを含むファイルグループ) を親ワークスペースにそのまま戻すと、親ワークスペース内の同じファイルの改訂版が書き直されてしまうため、ワークスペース管理ツールはこの開発者からのプットバックトランザクションの実行を許可しません。このような場合、ワークスペース管理ツールは、この開発者からのプットバックトランザクション実行要求を拒否し、変更の衝突が存在することを通知します。
プットバックおよび更新ブリングオーバーのトランザクションの実行が拒否されると、該当グループに含まれるファイルはすべて、衝突が存在しなくてもコピーされません。
開発者のワークスペース内のファイルと親ワークスペース内の対応ファイルとの間の衝突は、親ワークスペースの整合性を常に保つために、必ず開発者側の (子) ワークスペース内で解決してください。
衝突を解決するためには、まず更新ブリングオーバートランザクションを使用して、衝突の存在するファイルを親ワークスペースから子ワークスペースにコピーします。次に、ファイルマージを使用して開発者側の変更をこのファイルにマージした後、衝突が解決されたファイルを親ワークスペースにプットバックします。
表 2-2 衝突が発生した場合の処理