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 integratefromFiletoFileという形式で、これはバージョン化サービスに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)、遅延コピーは作成されません。反映されたntempobjファイルはサーバ上で追加のディスクスペースを消費します。
オプション
比較的新しい反映オプションの中には、反映プロセスをより複雑にするものがあるので、反映用オプションを反映用基本オプションと高度な反映オプションに分けています。
反映用基本オプション
|
|
|
|
|
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 |
ブランチビュー |