NEW 2.0

Is available now!

What is new?
Supported languages
Microsoft .NET C Java
Coming soon
C++ Javascript

Why?

1 Helps you keep the code clean

All team members can freely refactor and rearrange their code because they know they’ll be able to merge it easily with SemanticMerge.

2 Helps to better understand your code changes

It doesn’t matter if one team member refactored an entire file, while another fixed a critical bug; you’ll understand what happened when you merge with SemanticMerge!

3 Merges are based on structure, not location

Unlike a text-based merge, SemanticMerge parses the code and extracts the structure; therefore, position changes will no longer be an issue.

4 Avoids incorrectly identified automatic merges

SemanticMerge can detect when a method* was modified in parallel, even when no “text-block-conflicts” occur; thus enabling you to review the changes. Traditional merge tools would have identified the change as a trivial 'automatic' merge.

5 SemanticMerge deals with language-specific conflicts

Add two different “usings” clauses (C#) on two different locations. Add the same method twice in two different locations. These two scenarios, among others, will be automatically resolved.

6 Keeps it simple

SemanticMerge handles structure conflicts, but will use a text-based merge to handle conflicts inside the bodies of methods, functions, properties, etc...

What it does?

As programmers we always expected merge to be this way: first parse the code, then get the structure and finally merge based on that.

This way a case like the one below, a nightmare for text- based merge tools, involving methods moved to different classes and modified, becomes trivial.

What it does

Features

Success stories

Dirk Rombauts
Picklesdoc

"SemanticMerge takes the stress out of merging and lets me merge with confidence..."

see more ▸
Markus Schleipen
Just Intelligence GmbH

"PerforceMerge, which is the tool we have been using until now, is awesome, but SemanticMerge simply outperformed it."

see more ▸
Joey Smith
YUICompressor

"SemanticMerge has allowed me to forge ahead with more confidence in my ability to manage, manipulate, and merge the contributions from YUICompressor's..."

see more ▸
Dan Turner
Cloud House

"We like SemanticMerge because has an excellent UI that helps to merge changes quickly by focusing on conflicts in the logic rather than wading through..."

see more ▸
Mike Lawton
DaProSystems, Inc

"SemanticMerge has been enormously helpful in taming that complex process.
I can, with confidence, separate what requires my attention to resolve and what SemanticMerge does brilliantly..."

see more ▸

What's next?

After rewriting the entire GUI with SemanticMerge 2.0 to greatly enhance usability, this is what we will be working on:
More languages
More languages

We started with C# and Vb.net, then added Java. Now C is already supported and then we’ll focus on C++, Objective-C and JavaScript, depending on your feedback

More platforms
More platforms

2.0 will be supported on OS X and Linux soon. (Currently users have to rely on 1.0 outside Windows).

Core improvements
Core improvements

We’ll be working on enhancements in the merge core: what about being able to track code that has been extracted from one method to a different one? Able to deal with reformatted code seamlessly?

Feature
Awesome features...

What about being able to track cross- file refactors?

Feature
Use the tech to build other features

Like being able to calculate "method history" in version control based on Semantic Diffing..

Feature
It is up to you...

Let us know what you would like to see next.