Merging changes between versions of the development pack

When LS Retail releases a new version of the LS One development pack partners will need to merge their customizations to the new version. Following is a description of how to use svn patch files to merge a customized development pack to a newer version.

This document will use upgrading from LS One version 2016 to 2016.1 as an example. The example will use a simple modified 2016 development pack where the following changes have been made:


  • The payment triggers have been modified
  • A copy of the Terimals plugin has been added to the solution

1. Get a clean version of the “previous” version of the development pack.

In this case we have made customizations for the 2016 version of LS One. This means we need to get a clean version of the 2016 development pack and check that out to a folder.

In this example we checkout to a folder called 2016_Clean.

2. Copy your customized 2016 folder over the newly checked out folder

What we need is to get a “modified” 2016 development pack folder so we can use svn to create a patch file for us. To achieve this we need to copy and paste the customized 2016 development pack over a clean 2016 development pack. Overwrite any existing files in the clean 2016 pack.

After you have copied your files over we recommend that you do a svn cleanup on the following folders:

  • Source\POS\Build
  • Source\SM\Build

Use these options when doing the cleanup operation:

The reason for this is to reduce the list of modified files once we create the patch file. If you don’t revert those folders the list will become very long and hard to parse out the actual modifications that are going into the patch file.

3. Create the svn patch file

If you’re using Tortoise SVN you can right click the 2016_Clean folder and select the Create patch operation:

Right click the 2016_Clean folder -> Tortoise SVN -> Create patch

This will prompt you with a dialog that shows you all of the modifications svn detects on the 2016_Clean folder. Here we select only the code changes we have made and ignore the modified .dll files since those are usually only build artefacts:

Click OK and save the patch file. By default it will be located in the 2016_Clean folder.

4. Apply the patch to the newer version of the development pack

Copy the .patch file to the 2016.1 development pack folder:

Right click the .patch file and select:

TortoiseSVN -> Apply patch.

This prompts you with the TortoiseMerge dialog:

Click the Patch all items button. This will perform a merge operation onto the 2016.1

You might need to resolve conflicts or review the merged files to make sure everything was merged successfully. Please open the solution and try building the code and fix any issues that might have come up with the merge.