GadgetLogs

排他的ロックのファイルを移動する

下書き: -l(排他的ロック)ファイルを移動できない時の対処

本ページは下書きです。

-l(実体は Perforce の +l ファイルタイプ)は、 同時に1人しかチェックアウトできない制約です。

そのため、対象ファイルを誰かがチェックアウト中だと、 Rename/Move が失敗する場合があります。

本手順では、事故防止を優先し、 ローカルに同一ファイルをコピーして保管したうえで、 元ファイルを削除し、移動先に追加してサブミットする方法を採用します。

まず確認すること

  1. 対象ファイルを右クリックし、Opened by(または同等メニュー)で誰が開いているか確認する
  2. 別ユーザーが開いている場合は、その人のサブミット待ちか Revert 依頼が必要

ケース別の解決方法

ケース1: 他の人が開いている

  1. 開いているユーザーに連絡する
  2. 次のどちらかを依頼する
    • すぐサブミットする
    • 変更不要なら Revert する
  3. 相手のチェックアウトが解放された後に、ローカル退避コピーを作成する
  4. 元ファイルを Mark for Delete し、移動先に Mark for Add する
  5. 問題なければ Submit する

補足:

ケース2: 開いているユーザーが不在・放置で作業が止まる

  1. 管理者に対応を依頼する
  2. 管理者が対象の Open 状態を確認し、必要に応じて Unlock / Revert を実施
  3. 解放後に、退避コピー作成 -> Mark for Delete -> Mark for Add の順に実施する

注意:

実際の移動手順(解放後)

  1. 対象ファイルをローカルで同名コピーして退避する
  2. P4Vで元ファイルを Mark for Delete する
  3. 移動先フォルダに退避コピーを置く
  4. 移動先ファイルを Mark for Add する
  5. Pending Changelist で delete と add が入っていることを確認する
  6. 内容差分とファイルタイプ(+l)を確認する
  7. 問題なければ Submit する

補足:

よくある詰まりポイント

参考(CLIで確認する場合)

p4 opened -a //depot/path/to/file

誰が開いているかを確認できます。 P4V だけで運用する場合は CLI の使用は必須ではありません。

関連