SemanticMerge now supports PHP

Monday, February 04, 2019 0 Comments

Supporting PHP was required by many of our users. Today we wanted to let you know that we have upgraded SemanticMerge's core diffing and merging machine to parse and understand PHP. It will now be able to detect changes at the code line distribution but also within specific PHP methods and classes, for example.

This is how SemanticMerge works now with PHP merges

Have you ever been confused about merging or rebasing PHP code? You have a staging / testing branch with a couple of commits and you want to merge it to main development branch, crossing your fingers that no conflicts arise. With SemanticMerge's new support for PHP the number of automatic merges will dramatically increase because it now understands the language. In other words, what other merge tools consider a conflict, SemanticMerge won't; Let's say programmer A makes changes inside a method. That method, in the eyes of a random merge tool will look different than the unchanged method, but under SemanticMerge's PHP parser, it's not. That is just one example of a minimal change that could generate integration conflicts. See below other examples from the SemanticMerge's interface:

In this example, a changed and moved method conflicts with a changed method. The tool will identify all changes affecting the same method:

An evil twin conflict will also be detected as shown below:

Welcome on board, PHP developers

Invoke SemanticMerge from your development environment. If you want to try SemanticMerge's functionality with sample code before doing so with your real code you can do so anytime. When opening SemanticMerge select "open samples" and then select the PHP pane to test it out with PHP code. See below:

SemanticMerge is free for one month. Go ahead and give it a try with your PHP code base now.

We develop Plastic SCM, a version control that excels in branching and merging, can deal with huge projects and big binary assets natively, and it comes with GUIs and tools to make everything simpler.

If you want to give it a try, download it from here.

We are also the developers of SemanticMerge, and the gmaster Git client.