Perforce の排他チェックアウトのように、解除されるまでファイルを保持するモデルから来た方は、両モデルの比較について Perforce から来た方へ を参照してください。
ソフトロックが表示される場所
インジケーターは、リポジトリ内の他の場所で変更されたファイル — 別のワークスペースにある未コミットの編集、または別のブランチ上のコミット — をフラグします。 デスクトップおよび Web アプリ では、ツリービュー内のファイルの横にバッジが表示されます。

2 人が同じファイルを編集するとどうなるか
ソフトロックは誰もブロックしないため、2 人が同じファイルを同時に編集でき、Diversion は差分を後から調整します。両者が同じブランチにいる場合の流れは次のとおりです:1
ユーザー A が編集を開始する
ユーザー A が
Level.umap を変更します。何も予約されず、ファイルは全員にとって書き込み可能なままです。2
ユーザー B にソフトロックが表示される
そのファイルには、ブランチ上の他の全員に対して警告アイコンが表示され、クリックするとユーザー A が編集中であることが分かります。
3
ユーザー B もそのファイルを編集する
何もブロックしません。待つべきチェックアウトも、解除を追いかける相手もいません。
4
ユーザー B が先にコミットする
ユーザー B のバージョンがブランチ上の最新になります。
5
ユーザー A に競合が届く
Auto-Update が有効(デフォルト)の場合、そのコミットはユーザー A のワークスペースに流れ込みます。ユーザー A は同じファイルに未コミットの変更を持っているため、Diversion はそれを上書きしません。ユーザー A のローカルバージョンを
Level.dv-conflict.umap として元のファイルと並べて保存し、ユーザー B のコミット済みバージョンを元のパスに配置します。これは 同期競合 です。6
ユーザー A が解決する
ユーザー A は 2 つのバージョンを比較して残す方を決め、
.dv-conflict ファイルを削除します。詳細な手順は 同期競合の解決 を参照してください。.dv-conflict バックアップとして、マージ後は別ブランチの履歴に残ります。Diversion が採用しているトレードオフは、事前にブロックする代わりに、差分を事後に解消することです。
ソフトロックとバイナリファイル
テキストファイルは行単位でマージできるため、そこでの競合は通常わずかな手直しで済みます。.umap、.uasset、.fbx などのバイナリアセットはマージできません。どちらか 1 つのバージョンが勝ち、もう一方の作業はやり直しが必要になります。例外は Blueprint で、Unreal プラグイン を使うとマージできます。
そのため、ソフトロックインジケーターはまさにそうしたファイルで最も価値があります。事後に解決するものではなく、作業を始める前にチームメイトに声をかけるためのきっかけとして扱ってください。
チームにとってそれが十分な信頼性でない場合、ハードロック は 2 つ目のコミットを直接ブロックし、拡張子で一致するファイルを自動的にロックできます。ハードロックは Studio および Enterprise プランで利用可能です。
