Merge Without Fear

Wednesday, March 25, 2009 , , 2 Comments

Over the years I've talked with many software developers about branching and merging and found there is almost a universal distrust of using branches despite all the benefits that can be provided by branching.

The main source of this distrust really stems from merging. The branching part everyone can handle it is when you go to integrate changes, generate complex software configurations and perform complex merges against a codeline with many contributors that is the source of the problem.

Over the years programmers have developed a mistrust, or worse an outright fear, of merging which is really a result of tools that lack proper branch and merge support. But even with proper merge tracking there is always a fear when doing merges that something will break, something will happen that can not be easily undone and then someone will be left spending hours trying to fix it with the boss screaming over their shoulder the entire time.

This is where Plastic SCM rises above the rest. We have a simple and effective way to handle merges that makes it a fearless operation.

There are two aspects that make the process fearless that I will focus on (there is a third which involves rollbacks which I don't get into here).

1.) You have an opportunity to test the results of your merge before anything gets committed to the database.
2.) You can always undo a merge if the test results are bad.

Plastic SCM already has excellent merge tracking. This means all your merge history is remembered so you don't double merge or unmerge by accident. Merge tracking makes it possible to do merging over time especially with a large number of contributors. What I focus on in the screencast is the aspect of Plastic merging that allows you to build your project, test it, and then cancel the merge or commit it to the SCM repository depending on the results.


Merge Without Fear Video

Please send feedback to

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.


  1. Does plastic handle the merging of folder renames well? I had a bit of problems with this scenario today in another scm.

  2. Yes it does. Plastic manages directories in a way that allows merging even if the folder has been moved or renamed. Also an important part of refactoring and this is managed so seamlessly in Plastic we don't talk about it as much as we should.