Skip to main content
ソフトロック は、他の誰かが現在そのファイルを編集していることを示す Diversion のシグナルです。これはインジケーターであってバリアではありません。作業を始める前にファイルの編集権を取得する必要はなく、誰かがあなたの作業を止めることもできません。 ソフトロックはすべてのプランのすべてのリポジトリでデフォルトで有効になっており、構成することは何もありません。編集を実際にブロックする必要がある場合は ハードロック を参照してください。
Perforce の排他チェックアウトのように、解除されるまでファイルを保持するモデルから来た方は、両モデルの比較について Perforce から来た方へ を参照してください。

ソフトロックが表示される場所

インジケーターは、リポジトリ内の他の場所で変更されたファイル — 別のワークスペースにある未コミットの編集、または別のブランチ上のコミット — をフラグします。 デスクトップおよび Web アプリ では、ツリービュー内のファイルの横にバッジが表示されます。 ツリービュー内のファイル横に表示されたソフトロックインジケーター バッジをクリックすると、何が変更されたか、誰が変更したか、どこで変更されたかを確認できます。 ファイルが別の ref で、誰によって、いつ、どのブランチで変更されたかを表示するパネル Unreal Engine では、プラグインが重要な 2 つのタイミングでソフトロックを表示します。他の誰かが編集中のアセットを開くと、確認プロンプトが表示されます。そうしたアセットを保存すると、保存ダイアログ でどうするかを尋ねられます: 先にファイルをロックする (ハードロック のあるプラン)、そのまま保存する、または保存をスキップする。両方のプロンプトは 1 つの設定で制御され、無効化 できます。
Content Drawer で南京錠バッジが付いたソフトロック中の Blueprint アセット潜在的なコンフリクトと、他に誰がいつどのブランチでファイルを編集したかを表示する Unreal Engine のアセットツールチップ
アセットが自動ソフトロックされていることを警告し、それでも編集用に開くオプションを提供する Unreal Engine のダイアログ 別の場所で編集中のファイルを一覧表示する Unreal の保存ダイアログ 一度に大量のファイルにバッジが表示される場合、通常の原因は 1 つのワークスペースが多数の未コミットの変更を保持していることです。マージ競合の警告 を参照してください。

2 人が同じファイルを編集するとどうなるか

ソフトロックは誰もブロックしないため、2 人が同じファイルを同時に編集でき、Diversion は差分を後から調整します。両者が同じブランチにいる場合の流れは次のとおりです:
1

ユーザー A が編集を開始する

ユーザー A が Level.umap を変更します。何も予約されず、ファイルは全員にとって書き込み可能なままです。
2

ユーザー B にソフトロックが表示される

そのファイルには、ブランチ上の他の全員に対して警告アイコンが表示され、クリックするとユーザー A が編集中であることが分かります。
3

ユーザー B もそのファイルを編集する

何もブロックしません。待つべきチェックアウトも、解除を追いかける相手もいません。
4

ユーザー B が先にコミットする

ユーザー B のバージョンがブランチ上の最新になります。
5

ユーザー A が競合を解決する

ユーザー A の未コミットの変更との間に競合が発生し、ユーザー A がそれを解決します。競合 を参照してください。
両ユーザーが 別々のブランチ にいる場合は、誰かがマージするまで何も起こりません。差分はそのときに マージ競合 として現れ、マージ競合ウィンドウで解決します。 いずれの場合も、どちらのバージョンも失われません。 ユーザー A の未コミットの作業が上書きされることはなく、ユーザー B のコミットはブランチの履歴に残ります。Diversion が採用しているトレードオフは、事前にブロックする代わりに、差分を事後に解消することです。

ソフトロックとバイナリファイル

テキストファイルは行単位でマージできるため、そこでの競合は通常わずかな手直しで済みます。.umap、.uasset、.fbx などのバイナリアセットはマージできません。どちらか 1 つのバージョンが勝ち、もう一方の作業はやり直しが必要になります。例外は Blueprint で、Unreal プラグイン を使うとマージできます。 そのため、ソフトロックインジケーターはまさにそうしたファイルで最も価値があります。事後に解決するものではなく、作業を始める前にチームメイトに声をかけるためのきっかけとして扱ってください。 チームにとってそれが十分な信頼性でない場合、ハードロック は 2 つ目のコミットを直接ブロックし、拡張子で一致するファイルを自動的にロックできます。ハードロックは Studio および Enterprise プランで利用可能です。