In an earlier blog post this year I provided a brief overview of Semantic Merge, which is an incredibly tool from PlasticSCM that makes the process of merging code both smarter and “prettier” through easy-to-understand visualizations that will show you exactly what is going on within your code during complex merges that might have your entire development team scratching their heads.

Semantic Merge emerged from its previous Beta phase and Version 1.0 was released today. This post is going to review over some of the older features if you are unfamiliar with all of the major features that the tool has to offer as well as some of the newer bells-and-whistles that ones that were just released in this version.

Features and Improvements

Unlike most existing merge and diff tools, Semantic Merge attempts to actually “understand” what your code does by analyzing the structure and underlying functionality within your code instead of focusing on location. Some of the previous strengths that I mentioned in my earlier post can be found below:

Get Started Quicker

This version of Semantic Merge also has a Quick Start Guide which as the name implies can help you get Semantic Merge up and running on your current applications and solutions in a jiffy. The guide also provides a very easy to understand breakdown of how things in Semantic Merge might differ than that of a traditional merge or diff tool:

diff tool

An example of the Getting Started guide demonstrating the three major types of files involved in a Semantic Merge operation: the base file, the source file and the destination file.

The guide not only reviews over the merging process in a very visual and easy to comprehend manner (which functions as a great tool to explain the process to those unfamiliar with working with bad developers that consistently cause conflicts), but it lets you know what you might expect to see throughout the application. For example, an actual diff operation within Semantic Merge might look something like this:

source

Whereas an actual Merge within Semantic Merge might look like the following:

visual merge
Semantic Merge also comes with several different example and demo applications to help you better understand how to use it effectively prior to jumping in and trying it out on your 500,000+ LOC enterprise application so that you can at least stick a toe in the water before diving off a cliff. It can be used in a variety of ways and can be configured and integrated into most major source-control systems such as:

Or it can easily be used on its own as a great Merging / Diff tool.

Check it out!

If you are still interested and still reading, check out PlasticSCM and read more about some of the other major features of Semantic Merge that I may have missed. Obviously, traditional merging and diff tools are plenty for some people, but if you are someone that is looking for a way to improve upon them, then I would urge you to at least download it and give it a try to see if it is something that might make life easier for you and your team.

Licensing plans for it start at around $3.99/month, however you can visit Semantic Merge for a 15-day free trial or simply download it from the link below: