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
|
自動的に選択されたファイルを受け入れます |
Diff | |
* dt
|
theirに対する変更のみを表示します |
* dy
|
yourに対する変更のみを表示します |
* dm
|
マージ後の変更を表示します |
d
|
yourファイルとマージ後のファイルの差分を表示します |
編集 | |
et
|
theirファイルを編集します(読み取り専用) |
ey
|
yourファイルを編集します(読み取り/書き込み) |
* e
|
マージ済みを編集します(読み取り/書き込み) |
その他 | |
* m
|
$P4MERGE base theirs yours merged |
s
|
yourファイルに対する変更のみを受け入れます |
h
|
指定されたヘルプメッセージを出力します |
^C
|
衝突解決操作を終了します |
P4MERGE環境変数を使用して独自のマージプログラムが構成されている場合は、merge (m)
オプションを使用して、そのプログラムを呼び出すことができます。その際、次の4つファイルがプログラムに渡されます。
- baseファイル
- yours
- theirs
- 一時ファイル(このプログラムによってマージの実行結果が一時ファイルに書き込まれます)
オプション
-a
フラグを指定すると、p4 resolve
が自動モードで実行されます。このモードの場合、ユーザにプロンプトは表示されず、衝突解決できないファイルはスキップされます。
-a
|
自動モード: ユーザにプロンプトは表示されず、衝突解決できないファイルはスキップされます。 |
-as
|
「安全な」衝突解決を実行します。マージが必要なファイルはスキップされます。 theirsファイルが変更されていてyoursファイルは変更されていない場合にのみ、 |
-am
|
マージによって衝突を解決します。衝突が存在するファイルはスキップされます。 衝突が存在している場合であっても、theirsファイルとyoursファイルをマージしたファイルで |
-af
|
衝突が存在している場合であっても、 |
-at
|
|
-ay
|
|
-n |
ファイルを変更せずに操作をプレビューします。 |