Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > Automatic Code Synchronizer(ACS) > Working with repository-based CM > Rebasing a branch when maintaining reversible properties in the code files (ACS)
  
Rebasing a branch when maintaining reversible properties in the code files (ACS)
This task applies only when using Repository-based CM, and then only when you are working in a branch and maintaining operation bodies and other reversible properties in your code files.
If you have changed marked text in your code files and the changes cannot be reverse engineered because the associated item in the model is read-only – other user's changes that you merge into your branch could be overwritten by the changes that have not been reverse engineered.
* 
You must disable reverse before rebasing a branch. If you do not disable reverse in ACS before rebasing a branch, when you start ACS with the new model version, other users' updates to reversible properties will be overwritten with marked text from your code files - on reconciling the branch, the other users' updates to the reversible properties would be removed from the trunk.
To determine whether you have unreversed changes in your code files:
On the ACS/TDK Control toolbar, click the show Protected Properties button.
The ACS/TDK Log pane records whether there are any unreversed changes.
To rebase a branch when maintaining reversible properties in the code files:
This task assumes that ACS is set up to work with the tip version of the branch.
1. Start Modeler, and then open the tip version of the branch.
2. Load ACS. How?
3. In Modeler, select the root item for the Generation Settings Scheme.
4. On the ACS/TDK Control toolbar, in the drop-down list select the appropriate Generation Settings Scheme (or create a new Generation Settings Scheme), and then click the Start button.
5. Ensure that the model and your code files are synchronized by forcing a reverse, and then forcing a generation:
a. To force a reverse, on the ACS/TDK Control toolbar, click the Force Reverse button. From the confirmation dialog, click Yes.
b. To force a generate, on the ACS/TDK Control toolbar, click the Force Generate button. From the confirmation dialog, click Yes.
* 
Disable Reverse- on the ACS/TDK Control toolbar, ensure that the Enable or Disable Reverse Engineering button is not depressed.
6. On the ACS/TDK Control toolbar, click the Load or Unload ACS button, and then close Modeler.
7. Rebase the branch. How?
8. Start Modeler, and then open the new tip version of the branch.
9. Load ACS. How?
ACS creates copies the SHM and PRP files that were created for the previous version of the branch and uses those copies with the new version of the branch, so that the unreversed changes are not lost.
10. In Modeler, select the root item for the Generation Settings Scheme.
11. On the ACS/TDK Control toolbar, in the drop-down list select the appropriate Generation Settings Scheme(or create a new Generation Settings Scheme), and then click the Start button.
12. On the ACS/TDK Control toolbar, click the Force Generate button.
This ensures that your code files are updated with other user’s changes that have been merged into your branch.
13. On the ACS/TDK Control toolbar, click the Force Reverse button.
14. Enable Reverse - on the ACS/TDK Control toolbar, ensure that the Enable or Disable Reverse Engineering button is depressed.