ユーザーヘルプ > 変更パッケージ内の作業単位のグループ化 > 変更パッケージの適用の概要 > 変更パッケージの適用バックフィル一覧の使用
  
変更パッケージの適用バックフィル一覧の使用
適用している変更パッケージが他の変更パッケージに依存している場合、CP の適用コマンドでは、必要なすべての変更パッケージを含むバックフィル一覧が表示されます。次の例で、CP の適用コマンドでバックフィル一覧がどのように機能するかを説明します。
CP の適用操作では、バックフィル一覧全体を受け入れる必要があります。受け入れない場合、操作は失敗します。バックフィル一覧全体を受け入れない場合は、CP の再同期操作を実行する必要があります。CP の再同期コマンドでは、サンドボックス内で不要なリビジョンを除外してマージできます。
* 
バックフィル一覧は、サブプロジェクト操作を適用する場合には使用されません。適用するサブプロジェクト操作を含むすべての変更パッケージを明示的に指定するか、「サブプロジェクトを伝播」オプションの「暗黙的」を選択する必要があります。
必要な以前のリビジョンを含めるためのバックフィル一覧の使用
この例では、メイン プロジェクト f:/Aurora_Project/project.pj に 2 つのバグ修正が含まれています。アイテム 21 は最初のバグ修正に対応し、変更パック (CP) 21.1 を介してファイル main.c (リビジョン 1.2) に関連付けられます。アイテム 22 は 2 番目のバグ修正に対応し、CP 22:1 を介してファイル main.c (リビジョン 1.3) に関連付けられます。
ビルドマスタは、2 番目のバグ修正に対応する変更を選択して、これらをバリアント プロジェクト Aurora_Variant_1_0 に適用します。バリアント プロジェクトでは、main.c はリビジョン 1.1 になります。
バックフィルを必要とする変更パッケージの適用前
バリアント プロジェクトのバグ修正を選択するために、ビルドマスタは si applycp コマンドを使用して CP 22:1 を適用します。デフォルトでは、バックフィル オプションは 「すべての変更パッケージ」 (--backfill=cp) に設定されます。ビルドマスタは次のコマンドを入力します。
si applycp -P f:/Aurora_Project/project.pj --devPath Aurora_Variant_1_0 22:1
コマンドは次のように実行されます。
Applying change packages...
22:1
The following warnings have occurred:
-------------------
The change package(s)
21:1 -- main.c(1.2)
are required in order to apply this list of change packages.
They will be automatically added to the list, since the backfill
option is set to Entire Change Package(cp).
--------------------
*** The following set of operations will be performed:
Project: f:/Aurora_Project/project.pj[Aurora_Variant_1_0]
Member main.c: update member revision to Revision 1.3
Are you sure you wish to proceed? [yn](n): y
続行することを選択すると、処理された更新と処理されなかった更新を一覧表示する通知が示されます。
変更パッケージの適用を実行すると、バリアント プロジェクト内の main.c のリビジョンを 1.1 から 1.3 に更新します。リビジョン 1.2 は、バックフィル一覧 (CP 21:1) の一部として受け入れられているため、バリアント プロジェクトに自動的に追加されます。
バックフィルを必要とする変更パッケージの適用後
新しいファイルを含めるためのバックフィル一覧の使用
この例では、CP の適用で複雑な変更パッケージ (新しいファイルに依存するコード変更を含む) を処理する方法を説明します。この例では、main.c が変更されて新しいファイル main.h で定義されている値が呼び出されます。
コードを処理している開発者はこれらのすべての変更をチェックインし、両方のファイルを CP 22:1 に関連付けます。その後、開発作業を続行し、さらにリビジョン 1.3 でチェックインされ CP 23:1 に関連付けられている main.c のリビジョンを含めます。したがって、メイン プロジェクトには、リビジョン 1.3 の main.c およびリビジョン 1.1 の main.h が含まれます。
関連ファイルを含む変更パッケージの適用前
ここで、ビルドマスタは、バリアント プロジェクトに変更を組み込む必要があります。したがって、ビルドマスタは変更パッケージの適用コマンドを使用して CP 23:1 を Aurora_Variant_1_0 に適用します。これにより、main.c がリビジョン 1.3 に更新され、main.h リビジョン 1.1 が追加されます。
関連ファイルを含む変更パッケージの適用後
バックリビジョンのみを適用するためのバックフィル一覧の使用
CP の適用のデフォルトのバックフィル オプションでは、指定された変更パッケージに必要なすべてのエントリ (バックフィル一覧内の変更パッケージのすべてのエントリを含む) を伝播します。ただし、「バックリビジョンのみ」でバックフィルする特殊な場合があります。このオプションでは、直接関連付けられたリビジョンだけに基づいてターゲット環境を更新します。中間リビジョンに関連付けられている変更パッケージは処理されません。
たとえば、前の例 (「新しいファイルを含めるためのバックフィル一覧の使用」) で「バックリビジョンのみ」オプションを選択した場合、main.c は 1.3 に更新されますが、main.h はバックフィル変更パッケージ内のエントリであるため伝播されません。
このオプションは、情報を収集し、その結果すべての変更によって影響を受ける可能性のあるファイルを伝播する場合に役立ちます。この場合、対象となるのは、関連ファイルに対するすべての変更の結果として発生した基になる変更ではなく、最新のリビジョンだけです。