User Help > Grouping Units of Work in Change Packages > Apply CP and Resync CP Overview
  
Apply CP and Resync CP Overview
Apply Change Package (Apply CP) and Resynchronize Change Package (Resync CP) represent two of the most powerful Windchill RV&S features. In an environment where development is constantly evolving to include bug fixes or new features, Apply CP and Resync CP allow you to identify and incorporate only the specific bug fixes or content that you want to include in a new project. The functionality allows you to move specific changes—whether from the master project to a variant, from a variant to the master project, or from a variant to another variant.
Variant projects are projects that branch from the main trunk of development. Variant projects are identified through development paths.
Apply CP and Resync CP rely on the use of change packages to track individual changes that modify project content or create new content.
If a development team does not use the change package methodology, isolating specific content becomes a complex, manual task. In a large code project, this could mean searching hundreds of files to determine which ones are related to a specific item. To build the project, it would then be necessary to add, drop, rename, and move files; update file revisions; merge around unwanted revisions; merge in required changes; and merge out any unwanted changes.
If a development team uses change packages consistently, Windchill RV&S can isolate all changes related to a specific item because this information is recorded as part of the change package. Once the dependencies are calculated, Apply CP performs the operations required to propagate the desired changes. If merging is required, you can use the Resync CP command. Resync CP allows you to either merge in desired changes or merge around unwanted changes.
Apply CP is appropriate in a staging environment, where you know all changes have been tested and can be propagated to the next stage as a group. Resync CP is appropriate for situations where you want to select individual changes, and build and test the changes in your Sandbox before propagating them.
The effectiveness of Apply CP and Resync CP relies on a change package methodology that includes the following practices:
accurate and consistent use of change packages for logging items
associating related changes into a single change package that addresses the item in question
Practices to avoid include the following:
including changes made on multiple variants in the same change package
including unrelated changes in a change package
Apply CP and Resync CP are most useful for code and other text files where differencing can be performed. The operations are not recommended for binary files because of the difficulties encountered in differencing and merging binaries.
* 
For brevity, some of the Apply CP and Resync CP examples use the command line interface to illustrate how a command works. For information on using Apply CP (si applycp) and Resync CP (si resynccp) in the command line interface, see the CLI man pages.