Project: Merge (€19, 30-day free trial) is a file comparison utility designed to compare XML files and only show you the differences which matter. People who work with files in XML format, such as programmers or database administrators, could find it very useful.

Extensible Markup Language offers structured handling of complex data according to a specification, but large XML files may differ in subtle ways. Some of these matter, some don't. Using a standard text comparison tool, such as UltraCompare, may highlight irrelevant differences, for example the ordering fields in an address may be irrelevant to the file's actual information content, but a typical character-by-character compare will flag them as issues to resolve.

Project: Merge uses the XML specification for a given file to figure out if a difference matters or not, and only highlights those which do. Once highlighted, you can choose which value is the proper one and produce a merged XML file containing the correct values. You can also choose to launch Project: Merge in "compare" mode, which highlights differences but does not allow you to change the underlying files.

Project: Merge has a simple but functional interface. Although it's not snazzy, it gets the job done, and it's usually intuitive what is meant by onscreen symbols. It does have a few flaws, however. First, there is no means of creating groups of XML specifications from within the program. You can only do this when you open an XML file which it cannot identify, and it's not intuitive how you create groups, nor can you move a specification once it's been created.

While Project:Merge allows you to compare two files to each other, or two files to a base file, you can work with only one such set at a time; there is no tabbed or multiple-document option. Other minor niceties, such as "Recently Opened Files," are likewise missing. Last, the window title will tell you if you are "comparing" or "merging," but it's easy to overlook this and wonder why your changes cannot be saved.


If you have a need for a description-aware XML differencing/merge tool, Project: Merge is most assuredly worth downloading to see if it suits your needs.