p4 integrate
概要
ブランチまたはマージするファイルを作業状態にします。
p4 integrateはp4 integと略記することができます。
構文
p4 [g-opts
] integrate [options
] fromFile
[revRange
] toFile
p4 [g-opts
] integrate [options
] -b branch
[-r] [toFile
[RevRange
] …]
p4 [g-opts
] integrate [options
] -b branch
-s fromFile
[revRange
] [toFile
…]
p4 [g-opts
] integrate [options
] -S stream
[-r] [-P parent
] [file
[revRange
] …]
options
: -c changelist
-Di -f -h -O options
-n -m max
-Roptions
-q -v
解説
1つのファイルに対して行った変更を他のファイルにも伝達する必要がある場合には、p4 integrateでそのプロセスを開始します。コマンドには、反映元ファイルおよび反映先ファイルの指定がファイル、ブランチ、またはストリームのいずれを使用しているかによって、4つの構文バリアントが含まれます。
このコマンドの最も単純な構文バリアントはp4 integratefromFile
toFile
という形式で、これはバージョン化サービスにfromFile
の変更をtoFile
に伝達する必要があることを知らせ、次のような動作を行います。
-
toFile
がまだ存在していなければ、fromFile
をtoFile
にコピーした上で、クライアントワークスペースでtoFile
をbranch
のための作業状態にします。 -
toFile
が存在し、上記のようにfromfile
と共通の祖先を持つ場合、toFile
をintegrate
のための作業状態にします。この場合、p4 resolveでfromFile
の変更のすべて、または一部をtoFile
に伝達するか、あるいは伝達しないかの選択をします。p4 resolveコマンドは、
theirs
としてfromFile
を、yours
としてtoFile
を、baseとして共通の最も編集されたファイルをそれぞれ使用します。 -
fromFile
が最新リビジョンで削除されている場合、(そしてfromFile
とtoFile
間の前回までの変更がすべて反映されてる場合)、toFile
をクライアントワークスペースでdelete
のため作業状態にします。 -
p4 moveを使用してファイルを移動する場合、またはOSに備え付けのコマンドを使用してワークスペース内でファイルの名前を変更する場合(p4 reconcileまたはp4 statusを使用して、自分が行った移動を反映するためにチェンジリストを更新する場合)のいずれかでは、p4 integrateはこれらの操作を自動で検知して、反映元と反映先の間のマッピングを適切に調節し、マッピングし直すファイルペアごとにファイル名の衝突解決をスケジュールします。
(利用可能なオプションの中には、この動作を変更するものもあります。詳細については、「オプション」を参照してください。)
このプロセスは、ディポに対してp4 submit toFile
を実行した時点で完了します。
複数のファイルを指定するには、fromFile
の場合もtoFile
の場合もワイルドカードを使用します。fromFile
で使用するワイルドカードとtoFile
で使用するワイルドカードは同じでなければなりません。PerforceはfromFile
のパターンとtoFile
のパターンを比較し、fromFile
/toFile
のペアのリストを生成し、各ペアごとに反映操作を実行します。
シンタックスp4 integrate fromFiles
toFiles
では、fromFiles
の変更をtoFiles
に伝達する必要が生じるたびに、fromFiles
とtoFiles
の間のマッピングを指定する必要があります。これに代わる方法は、p4 branchでfromFiles
とtoFiles
の間のマッピングをブランチビューに保存し、fromFiles
とtoFiles
の間で変更を伝達する必要が生じるたびにp4 integrate -b
branchview
を使用する、というものです。
デフォルトでは、p4 integrateでbranch
またはintegrate
のための作業状態にされたファイルは、クライアントワークスペースでは読み取り専用になります。これらのファイルは、サブミット前に、p4
editであらためてedit
のための作業状態にすることができます
Perforceは、toFile
にfromFile
から反映されるたびに、Perforceはその反映の結果を記述する反映記録をデータベースに生成します。この反映記録には、fromFile
およびtoFile
の名前、toFile
に反映されたfromFile
のリビジョン、toFile
の新しいリビジョン番号、反映時に行われたアクション(操作)が含まれます。反映操作について詳しくは、「p4
integrated」のセクションを参照してください。
ほとんどの場合、p4 integrateは遅延コピーを行います。ファイルの内容はサーバには複製されません。それは、反映レコードにファイルの再現のために十分な情報が含まれているからです。反映操作は一時オブジェクトファイルに対して行われ(+S
および+S
)、遅延コピーは作成されません。反映されたn
tempobj
ファイルはサーバ上で追加のディスクスペースを消費します。
オプション
比較的新しい反映オプションの中には、反映プロセスをより複雑にするものがあるので、反映用オプションを反映用基本オプションと高度な反映オプションに分けています。
反映用基本オプション
|
|
|
p4
integrateの動作対象となる |
|
実際の反映操作は行わずに、このコマンドが実行することになる反映操作を表示します。 |
|
このオプションが付いていなければ、p4 integrateは新たにブランチされた |
|
指定した作業中チェンジリスト内の このオプションが付いていなければ、ファイルはデフォルトのチェンジリスト内で作業状態にされます。 |
|
クワイエットモード。反映、コピー、マージの対象となるファイルのリストに関する、通常の出力メッセージを抑止します。エラーまたは例外的状態に関するメッセージは表示されます。 |
|
「“グローバルオプション”」を参照してください。 |
高度な反映オプション
|
最も単純な形式p4 integrate -b
もっと複雑な形式で p4 integrateのこのバリエーションは、Perforceのグラフィックアプリケーションに必要な機能を与えるために作成されたものですが、形式が複雑なので使用することはまれです。 |
|
ブランチビューのマッピングを逆にし、反映先ファイルから反映元ファイルへの反映を行います。 |
|
|
|
|
|
反映操作の前に、反映先ファイルを最新リビジョンに同期する処理を、自動的には行いません。代わりに現在のワークスペースにあるリビジョンを使用します。 |
|
コマンドで反映を実行するファイルを初めの |
|
|
|
|
|
|
|
反映先ファイルを自動で削除するのではなく、解決結果の削除をスケジュールします。 |
|
|
|
ストリームをその親に反映します。設定された親を無視して別のストリームに反映するには、 |
使用上の留意点
ファイル引数にリビジョン指定子を使えるか? |
ファイル引数にリビジョン範囲を使えるか? |
最低限必要なアクセスレベル |
---|---|---|
使用可 |
使用可 |
|
例
p4 integ //depot/dev/... //depot/rel2/... |
|
p4 integ -b rel2br |
ブランチビュー |
p4 integ -b rel2br //depot/rel2/headers/... |
ブランチビュー |
p4 integ -b rel2br -r //depot/rel2/README |
ブランチビュー |