Helix Core P4コマンドリファレンス (2019.1)

p4 resolve (グラフ)

反映を衝突解決して、リポジトリワークスペースファイルを更新します。

構文

p4 resolve [options] [file ...]

説明

p4 resolveは、既に衝突解決がスケジュールされているファイルにのみ作用します。

衝突解決をスケジュールできるコマンドは次のとおりです。

ファイルのサブミットは、ファイルの衝突解決後に行う必要があります。 衝突解決には、2つのファイルセット(ソースとターゲット)を使用します。 ターゲットは、クライアントワークスペースで作業状態になっているファイルにマップするディポファイルセットです。

  • 反映を衝突解決する際、ソースとターゲットのディポファイルセットは異なります。
  • 更新を衝突解決する際、ソースとターゲットのディポファイルセットは同じですが、リビジョンが異なります。

ファイル引数はターゲットを指定します。 ファイル引数を指定しない場合、衝突解決されていないすべてのファイルが衝突解決されます。

衝突解決ではワークスペースファイルを変更できます。 衝突解決のプロセスは、典型的な3要素のマージです。 関係するファイルは次のように呼ばれます。

  • yours - クライアントワークスペースで作業状態になっているターゲットファイル
  • theirs - ディポ内のソースファイル
  • base - 共通の祖先(ターゲット内で既に参照されているソースファイルの最新リビジョン)
  • merged - マージ後のファイル

ファイル名、ファイルタイプ、およびテキストファイルの内容を衝突解決するには、yoursファイル、theirsファイル、mergedファイルを受け入れます。

ブランチング、削除、およびバイナリファイルの内容を衝突解決するには、yoursファイルまたはtheirsファイルのいずれかを受け入れます。

反映後の変更をp4 resolveで衝突解決すると、次の4つの結果に分かれます。

  • 完全なyoursファイル
  • 完全なtheirsファイル
  • 純粋なマージファイル
  • 編集されたマージファイル

衝突解決されたファイルをサブミットすると、4つの結果のいずれかが記録されます。この情報を使用して、各種コマンドで反映処理を実行する必要があるかどうかが判断されます。

いずれの場合も、yoursファイルを受け入れると、ターゲットファイルが現在の状態のままになります。

theirsファイルを受け入れた場合は、次のような結果になります。

  • ファイルの内容: ターゲットファイルの内容が上書きされます。
  • 属性: ターゲットファイルの属性が置き換えられます。
  • 削除: ターゲットファイルが削除されます。
  • ファイル名: ターゲットファイルが移動されるか、ターゲットファイルの名前が変更されます。
  • ファイルタイプ: ターゲットファイルのファイルタイプが変更されます。

未解決の各変更については、結果を受け入れるためのプロンプトが表示されます。

ファイルの内容に対する変更とそれ以外の変更は、それぞれ個別に衝突解決されます。

ファイルの内容に対する変更の衝突をp4 resolveで解決する場合、マージされた結果がクライアントワークスペース内の一時ファイルに格納されます。 衝突が存在する場合、マージ後のファイルには衝突マーカが含まれています。このマーカは、ユーザが削除する必要があります。

分散環境内のエッジサーバからの伝播属性を持つファイルの場合、p4 resolveを実行することはできません。

差分操作中のオプション

p4 resolveは次を表示します。

  • テキストの差分と衝突の件数。
  • 次のオプション。(*)の付いているオプションはテキストファイル専用のオプションです。推奨される操作が、括弧内に表示されます。
承諾  
at theirファイルに対する変更のみを受け入れます
ay yourファイルに対する変更のみを受け入れます
* am マージ後のファイルを受け入れます
* ae マージ後の編集済みファイルを受け入れます
* a 自動的に選択されたファイルを受け入れます
差分  
* dt

theirに対する変更のみを表示します

* dy yourに対する変更のみを表示します
* dm

マージ後の変更を表示します

d yourファイルとマージ後のファイルの差分を表示します
編集  
et

theirファイルを編集します(読み取り専用)

ey

yourファイルを編集します(読み取り/書き込み)

* e

マージ済みを編集します(読み取り/書き込み)

その他  
* m

$P4MERGE base theirs yours merged
を実行します ($P4MERGEUNICODE charset base theirs yours merged
を設定していて、ファイルがunicodeファイルである場合は、このコマンドを実行します。)

s

yourファイルに対する変更のみを受け入れます

h

指定されたヘルプメッセージを出力します

^C

衝突解決操作を終了します

P4MERGE環境変数を使用して独自のマージプログラムが構成されている場合は、merge (m)オプションを使用して、そのプログラムを呼び出すことができます。 その際、次の4つファイルがプログラムに渡されます。

  • baseファイル
  • yours
  • theirs
  • 一時ファイル(このプログラムによってマージの実行結果が一時ファイルに書き込まれます)

オプション

-aフラグを指定すると、p4 resolveが自動モードで実行されます。 このモードの場合、ユーザにプロンプトは表示されず、衝突解決できないファイルはスキップされます。

-a

自動モード: ユーザにプロンプトは表示されず、衝突解決できないファイルはスキップされます。

-as

「安全な」衝突解決を実行します。マージが必要なファイルはスキップされます。

ワークスペースファイルをtheirsファイルで置き換えます。
ただし、theirsファイルが変更されていてyoursファイルは変更されていない場合に限ります。

-am

マージによって衝突を解決します。衝突が存在するファイルはスキップされます。

ワークスペースファイルを
theirsファイルとyoursファイルのマージ結果で置き換えます。
マージ中にファイル内で衝突が見つかった場合、そのファイルは変更されず、衝突は未解決のままになります。

-af

衝突が存在している場合であっても、ワークスペースファイルを
theirs ファイルとyoursファイルのマージ結果で置き換えます。
この場合、ワークスペースファイル内に衝突マーカが残ることがあります。

-at

theirsファイルを強制的に受け入れ、yoursファイルを上書きします。つまり、
クライアントワークスペース内のファイルに加えられた変更はすべて上書きされます。

-ay

yoursファイルを受け入れてtheirsファイルを無視することにより、すべてのファイルを衝突解決します。
これにより、ワークスペースファイルの内容が保持されます。

-n

ファイルを変更せずに操作をプレビューします。