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 firstname.lastname@example.org
news ( 120 ) mono ( 30 ) merging ( 23 ) integrations ( 22 ) distributed ( 20 ) best practices ( 18 ) branching ( 14 ) semanticmerge ( 14 ) git ( 12 ) scm ( 11 ) c# ( 9 ) fun ( 9 ) testing ( 9 ) performance ( 8 ) branch explorer ( 7 ) configuration ( 7 ) solaris ( 7 ) visual studio ( 6 ) backend ( 5 ) differences ( 5 ) migration ( 5 ) Agile ( 4 ) Scrum ( 4 ) delphi ( 2 ) unity ( 2 ) eclipse ( 1 )