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

p4 integrate

ブランチまたはマージするファイルを作業状態にします。

p4 integratep4 integと略記することができます。

構文

p4 [g-opts] integrate [options] fromFileSpec[revRange] toFile
p4 [g-opts] integrate [options] -b branch [-r] [toFileSpec[RevRange] ...]
p4 [g-opts] integrate [options] -b branch -s fromFileSpec[revRange] [toFile ...]
p4 [g-opts] integrate [options] -S stream [-r] [-P parent] [file[revRange] ...]

次のように[options]を使用できます。

-c changelist  -Di  -f -h -O[b][r]  -n -m max -R[b][d][s] -q -v

説明

1つのファイルに対して行った変更を他のファイルにも伝達する必要がある場合には、p4 integrateでそのプロセスを開始します。 コマンドには、反映元ファイルおよび反映先ファイルの指定がファイル、ブランチ、またはストリームのいずれを使用しているかによって、4つの構文バリアントが含まれます。

このコマンドの最も単純な構文バリアントはp4 integrate fromFiletoFileという形式で、これはバージョニングサービスにfromFileの変更をtoFileに伝達する必要があることを知らせます。また、次のように動作します。

  • toFileがまだ存在していなければ、fromFiletoFileにコピーした上で、クライアントワークスペースでtoFilebranchのための作業状態にします。
  • toFileが存在し、上記のようにfromfileと共通の祖先を持つ場合、toFileintegrateのための作業状態にします。 この場合、p4 resolvefromFileの変更のすべて、または一部をtoFileに伝達するか、あるいは伝達しないかの選択をします。

    p4 resolveコマンドは、theirsとしてfromFileを、yoursとしてtoFileを、baseとして共通の最も編集されたファイルをそれぞれ使用します。

  • fromFileが最新リビジョンで削除されている場合、(そしてfromFiletoFile間の前回までの変更がすべて反映されている場合)、toFileをクライアントワークスペースでdeleteのため作業状態にします。
  • p4 moveを使用してファイルを移動する場合、またはOSに備え付けのコマンドを使用してワークスペース内でファイルの名前を変更する場合(p4 reconcileまたはp4 statusを使用して、自分が行った移動を反映するためにチェンジリストを更新する場合)のいずれかでは、p4 integrateはこれらの操作を自動で検知して、反映元と反映先の間のマッピングを適切に調節し、マッピングし直すファイルペアごとにファイル名の衝突解決をスケジュールします。

(利用可能なオプションの中には、この動作を変更するものもあります。 詳細については、「オプション」を参照してください。)

このプロセスは、ディポに対してp4 submit toFileを実行した時点で完了します。

注意

従来のブランチまたはその他のストリームディポからタスクストリームに反映する場合、ファイルを最初に編集してサブミットしない限り、そのファイルは親ストリームまではコピーされません。

複数のファイルを指定するには、fromFileの場合もtoFileの場合もワイルドカードを使用します。 fromFileで使用するワイルドカードとtoFileで使用するワイルドカードは同じでなければなりません。 HelixサーバfromFileのパターンとtoFileのパターンを比較し、fromFile/toFileのペアのリストを生成し、各ペアに反映操作を実行します。

シンタックスp4 integrate fromFilestoFilesでは、fromFilesの変更をtoFilesに伝達する必要が生じるたびに、fromFilestoFilesの間のマッピングを指定する必要があります。 これに代わる方法は、p4 branchfromFilestoFilesの間のマッピングをbranch viewに保存し、fromFilestoFilesの間で変更を伝達する必要が生じるたびにp4 integrate -b branchviewを使用する、というものです。

デフォルトでは、p4 integratebranchまたはintegrateのための作業状態にされたファイルは、クライアントワークスペースでは読み取り専用になります。 これらのファイルは、サブミット前に、p4 editであらためてeditのための作業状態にすることができます。

toFilefromFileから反映されるたびに、Helixサーバはその反映の結果を記述する反映記録をデータベースに生成します。 この反映記録には、fromFileおよびtoFileの名前、toFileに反映されたfromFileのリビジョン、toFileの新しいリビジョン番号、反映時に行われたアクション(操作)が含まれます。 反映操作の詳細については、「p4 integrated」を参照してください。

ほとんどの場合、p4 integrateは遅延コピーを行います。 ファイルの内容はサーバに複製されません。反映記録にはファイルを再現するための十分な情報が含まれているからです。

反映操作は一時オブジェクトファイルに対して行われ(+Sおよび+Sn)、遅延コピーは作成されません。 反映されたtempobjファイルはサーバ上で追加のディスクスペースを消費します。

ヒント

p4 integrateを使用しない場合は、次の選択肢があります。

  • p4 populate は、ワークスペースでファイルを開かずに速やかにファイルをブランチします。
  • p4 copy は、衝突解決をスケジュールしないで、コピーするファイルを開きます。 状況に応じて、p4 copy-vオプションを指定するかどうかを検討してください。
  • p4 merge は、マージするファイルを開き、すべての変更に対して衝突解決をスケジュールします。

オプション

反映用基本オプション

-b branchname [toFiles ...]

branchnameのブランチビューにあるsourceFile/targetFileのマッピングを利用してファイルの反映操作を行います。 toFilesの引数が与えられている場合、toFilesによって指定されたパターンに一致するブランチビューの反映先ファイルのみが含まれます。

toFilesでリビジョン範囲が指定されている場合、その範囲は反映先リビジョンではなく反映元リビジョンの範囲を示します。

fromFilestoFiles

fromFiles 反映元ファイルtoFiles反映先ファイルと呼ばれます。

p4 integrateの動作対象となるtoFilesは、必ずp4 clientのビューに含まれていなければなりません。

-n

実際の反映操作は行わずに、このコマンドが実行することになる反映操作を表示します。

-v

このオプションは非推奨になりました。代わりに、p4 populateコマンドを使用してください。

反映先ファイルの衝突を解決する必要がない場合、 クライアントワークスペースファイルが変更されない「バーチャル」統合が実行されます。 「バーチャル」統合をサブミットすると、p4 syncを使用して ワークスペースを更新できるようになります。

-c changelist

指定した作業中チェンジリスト内のtoFilesを、branchintegrate、またはdeleteのための作業状態にします。

このオプションが付いていなければ、ファイルはデフォルトのチェンジリスト内で作業状態にされます。

-q

クワイエットモードは、反映、コピー、マージの対象となるファイルのリストに関する、通常の出力メッセージを抑止します。 エラーまたは例外的状態に関するメッセージは表示されます。

g-opts

詳細については、「グローバルオプション」を参照してください。

高度な反映オプション

-b branchname -s fromFile[revRange] [toFiles ...]

最も単純な形式p4 integrate -b branchname -s fromFileでは、branchnameのブランチビューに含まれる反映元/反映先のマッピングを用いてファイルの反映を行うことができます。ただし、反映元ファイルはfromFileで指定されたパターンに一致するものに限られます。

より複雑な形式でfromFiletoFileの両方を指定すると、次の2つの手順で反映が両方向に実行されます。

  1. fromFileからtoFile
  2. toFileからfromFile

p4 integrateのこのバリエーションは、Helixサーバのグラフィックアプリケーションに必要な機能を与えるために作成されたものですが、形式が複雑なので使用することはまれです。

-b branchname -r [toFiles ...]

ブランチビューのマッピングを逆にし、反映先ファイルから反映元ファイルへの反映を行います。

-Di

-Diオプションは、削除されたリビジョンが扱われる方法を変更します。 反映元ファイルが削除され再び追加された場合、削除の前に行われたリビジョンは、同じ反映元ファイルの一部とみなされます。 デフォルトでは、再び追加されたファイルは、以前からある同じ名前のファイルに対して関係がないとみなされます。 ソースファイルを移動または名前更した場合、移動/追加または移動/削除目的のリビジョンは、branchリビジョンおよびdeleteリビジョンとして伝達されます。

-f

fromFileおよびtoFileのすべてのリビジョンに対して、たとえその一部のリビジョンが過去に反映操作をされていても、反映を強制します。リビジョン範囲と共に使用することが最適です。 リビジョン範囲との使用に適しています。

-h

反映操作の前に、反映先ファイルを最新リビジョンに同期する処理を、自動的には行いません。 代わりに現在のワークスペースにあるリビジョンを使用します。

-m max

コマンドで反映を実行するファイルを初めのmax個に制限します。

-Ob

-Obオプションは、(もしあれば)マージ用のbaseリビジョンを出力します。

-Or

-Orオプションは、スケジュールされている衝突解決を出力します。

-Rb

-Rbオプションは、反映先ファイルを自動でブランチするのではなく、衝突解決結果のブランチをスケジュールします。

-Rd

-Rdオプションは、反映先ファイルを自動で削除するのではなく、解決結果の削除をスケジュールします。

-Rs

-Rsオプションは、既に反映済みのチェリーピッキングされたリビジョンをスキップします。 このオプションはマージ結果を改善しますが、ファイルごとに複数の衝突解決をスケジュールする必要があります。

-S stream [-P parent]

ストリームをその親に反映します。

マッピングの方向を反転するには、-rオプションを使用します。

設定された親を無視して別のストリームに反映するには、-Pを指定します。

反映されたストリームファイルをサブミットするには、現在のクライアントを対象ストリームに切り替えるか、対象ストリームの子バーチャルストリームに切り替える必要があります。

使用上の留意点

ファイル引数にリビジョン指定子を使えるか? ファイル引数にリビジョン範囲を使えるか? 最低限必要なアクセスレベル

使用可

使用可

open

p4 integ //depot/dev/... //depot/rel2/...

//depot/dev/...のすべてのファイルを //depot/rel2/...の中の対応するファイルにブランチまたはマージします。.

//depot/rel2/...内に対応するファイルが存在しない場合は、このコマンドで生成されます。

p4 integ -b rel2br

ブランチビューrel2brに含まれるすべてのfromFilesを、そのブランチビューのマッピングに従い、対応するtoFilesにブランチまたはマージします。

p4 integ -b rel2br //depot/rel2/headers/...

次にマッピングするブランチビューrel2br内のfromFilesをブランチまたはマージします。 toFiles//depot/rel2/headers/...

p4 integ -b rel2br -r //depot/rel2/README

ブランチビューrel2brのマッピングに従ってfromFile//depot/rel2/READMEtoFileからブランチまたはマージします。

関連コマンド

ブランチマッピングを生成または編集する

p4 branch

既存のブランチマッピングのリストを参照する

p4 branches

既に実行されサブミットされた反映のリストを参照する

p4 integrated

ファイルを次のコマンドで作業状態にしてから、あるファイルから別のファイルへの変更を伝播する: p4 integrate

p4 resolve

特定のファイルに対して実行されたあらゆる反映の履歴を参照する

p4 filelog