Loading
よくある質問

【P4D 2025.1】p4 reconcileの挙動変更

📅更新日: 2026-05-27🏷️P4p4Article ID: 000001999

概要

P4D 2025.1 から、p4 reconcile 実行時の move マッチング(リネーム・移動検出)の動作が変更されました。

従来は、add と delete が同時に存在する場合、P4 サーバーが自動的に内容を比較し、類似ファイルを move/add・move/delete として関連付けていました。

P4D 2025.1 以降では、この move マッチング処理はデフォルトで無効となり、明示的に -M--match-moves)オプションを指定した場合のみ実行されます。

変更前(~2024.2)

p4 reconcile 実行時に、追加(add)と削除(delete)が混在している場合は、 P4 サーバー側でファイル内容を比較し、類似している場合は自動的に move/deletemove/add のペアへ変換されました。

p4 reconcile //...

結果

//depot/src/old.c#none - opened for move/delete
//depot/src/new.c#none - opened for move/add

変更後(2025.1~)

p4 reconcile はデフォルトでは move マッチングを実施しません。

そのため通常実行では次のようになります。

  • 削除 → delete
  • 新規追加 → add

p4 reconcile //...

結果

//depot/src/old.c#none - opened for delete
//depot/src/new.c#none - opened for add

move マッチングを有効にする方法

従来どおりリネーム・移動を検出したい場合は、 -M オプションを指定します。

基本構文

p4 reconcile -M //...

または

p4 reconcile --match-moves //...

-M オプションの動作

-M を指定すると、 adddelete として検出されたファイルを比較し、 ファイル内容や類似性をもとにリネーム・移動を判定します。

条件を満たした場合は次のように再オープンされます。

delete → move/delete
add    → move/add

並列 move マッチング(--parallel

大規模ワークスペースでは move 判定処理に時間がかかる場合があります。

P4D 2025.1 以降では、 --parallel=N を指定することで move マッチングを並列実行できます。

p4 reconcile -M --parallel=8 //...

効果

  • ファイル比較処理を並列実行
  • CPU コアを活用
  • 大規模なリネーム・移動時の性能を改善

P4V の場合

P4V のプリファレンス設定に、移動したファイルを検出する設定が追加されています。

P4V Preference

この設定を有効にすると、P4V の Reconcile 実行時に -M 相当の処理が実行されます。

読み込み中
【P4D 2025.1】p4 reconcileの挙動変更