Making Upgrades

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

Version Control System (VCS) Hygiene

We recommend committing an unmodified version of the Sign-Off Module before making any modifications.

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

Upgrading the Sign-Off Module

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

Importing the new version of the Sign-Off Module

  1. Check out the vendor branch from your VCS (this should contain the Sign-Off Module the way it was delivered prior to any customization).

  2. Delete all the files from your local working copy

  3. Copy in the new version of the Sign-Off Module

  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 Sign-Off Module. More importantly, it is tracking the changes between versions of the Sign-Off Module.

Merging

Assuming the VCS branch containing your custom modification has a previous version of the Sign-Off Module 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 version of the Sign-Off Module and attempt to apply them to the branch containing your modifications.

There will almost certainly be conflicts; where both the Sign-Off Module 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 Sign-Off Module 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 Sign-Off Module release and how your project code changed following the import of the latest version of the Sign-Off Module.

Version control example