User Help > Grouping Units of Work in Change Packages > Apply CP Overview
 
Apply CP Overview
CLI EQUIVALENT 
si applycp
You use the Apply CP command to propagate changes recorded in change packages from one project or development path to another. This enables you to propagate only the changes that you want. The Apply CP command is most useful for building software.
The Apply CP operation reads the entries in a change package and updates the project to the revisions listed in that change package. This function of the command is an automated process of the Update Revision command. The Apply CP operation can also require that files or subprojects be added, dropped, renamed, or moved. This function of the command is an automated process of the member and subproject commands.
The Apply CP command only operates on closed change packages and cannot perform merging. You need to use the Resync CP command to merge files and resolve merge conflicts, tracking the changes and resolved conflicts in a propagation change package.
The Apply CP operation occurs in the project, whereas the Resync CP operation occurs only in the sandbox. If you run the Apply CP command from a sandbox, the sandbox acts as a redirector to the project.
If you are applying a change package that contains moved members or subproject between two projects, Integrity Lifecycle Manager automatically updates both projects.
* 
When applying changes to an extendable development path, the development path is automatically extended to subprojects that are to be modified. For more information, see Extending an Extendable Development Path. This automatic extension occurs at the beginning of the Apply CP operation. If you cancel the operation, the extendable development path is not reverted to its previous unextended state. For subprojects configured as variant or normal in the base checkpoint of the development path, creation of the extendable development path freezes those subprojects to the checkpoint contents. Development path extension restores the live content, so those subprojects are typically extended immediately after extendable development path creation. If the live version of those subprojects is no longer the desired behavior, you can manually configure the subproject back to the desired build.
Assume that subproject sub/project.pj and a shared subproject pointing to subproject sub/project.pj share the same parent. A change is then performed on one of the subprojects in a change package on a full development path. When performing the Apply CP operation onto an extendable development path, the operation is executed on either subproject or the shared subproject, and that subproject is automatically extended. The extended subproject is not necessarily the one mentioned in the change package. However, you can manually extend the other subproject so that the propagated change is present in that subproject.
Using Apply CP in Your Development Environment
Using Subprojects
Applying a Change Package With No Dependencies
Using the Apply CP Backfill List
Using a Propagation Change Package With Apply CP
Resolving Conflicts