Wrangling the 3-way merge

Posted on: October 20th, 2010 No Comments

Even after nearly 3 years with WebWorks, I often find it difficult to tackle issues such as override migration.  People have different styles in doing this, but universally the preferred method is using some sort of diffing utility to bring over the customizations. Normally Standard Support does not cover this, but if the project looks like something that can be handled with a relative amount of ease, I will try to assist as much as possible. Recently, I had a case of someone using FTI modifications in the Page Styles options panel for language codes. In this example, I am using Araxis Merge, just because it is the one I am familiar with, but you can play with Kdiff or Beyond Compare, if you like.

Fortunately, the Target Overrides were clearly indicated that they were from the 2008.4 version, so I was able to easily get the versions from the previous files and compare. To start this process, you will want to take the “Targets” directory and rename it “Targets_old”

Next, you will want to copy the override files. In this case we used pages.fti and pages.xsl from the 2010.2 installation of Formats\WebWorks Help 5.0\Transforms

First you start out with a 2-way comparison of the files to understand what has been changed.

Great, so it looks pretty straightforward, we can click the triple merge icon in the top and then you will be able to browse to the newly created Targets in your project.  So from left to right, you should see the Old Formats without overrides, Old Formats with overrides, and then the New Formats that are about to have overrides.

To merge these changes, you will click the left most icon so that the blue lines will get added while the changes of the version (as if you were upgrading) will factor in.  So you would want to make sure that in your window pane, you have the 2008.4 version – Targets_old – Targets.  Only, the rightmost file will get saved, because that is where the merging actually occurs. Since we are working with FTI, we will also need the XSL component, so you would repeat the process of seeing where the changes occurred with the 2-way merge and then go to the 3-way merge to add the XSL changes while keeping the XSL improvements of the new version:

Leave a Reply

This blog is protected by Dave\'s Spam Karma 2: 14087 Spams eaten and counting...