Making upgrades

This page provides info on recommended version control procedures in the upgrade process and importing and merging new versions of the Accelerator.

 

Version Control System (VCS) Hygiene

We recommend committing an unmodified version of the Accelerator before making any modifications.

Your repository should ideally be structured to take advantage of built-in merge tools when importing Accelerator upgrades. This can be done by creating a branch which has the Accelerator release without any custom changes made to it.

Upgrading the Accelerator

This section assumes you have used the above recommended VCS Hygiene.

Importing the new version of the Accelerator

This sections assumes you are following the recommended VCS Hygiene.

  1. Check out the vendor branch from your VCS (this should contain the Accelerator the way it was delivered prior to any customisation.

  2. Delete all the files from your local working copy

  3. Copy in the new version of the Accelerator

  4. Commit your local working copy as the new version. Make sure the missing files are deleted from the repository and the new files are added.

Your VCS repository now contains a copy of the new version of the Accelerator. More importantly, it is tracking the changes between versions of the Accelerator.

 

Merging

Assuming the VCS branch containing your custom modification has a previous version of the Accelerator as an ancestor, you can use your VCS tools to merge the latest release into the branch containing your modifications.

The merge will take the diffs between the two versions of the Accelerator and attempt to apply them to the branch containing your modifications.

There will almost certainly be conflicts; where both the Accelerator and your project have changed the same code. The number of conflicts and their complexity will depend on the nature of the changes to the Accelerator between versions, and how they interact with your custom modifications. Your VCS tools will identify the conflicts and help you to resolve them.

Once the merge is complete, your VCS should be able to tell you how the project modifications differ from the Accelerator release and how your project code changed following the import of the latest version of the Accelerator.

Version control example

search.js