Overview of MergeMagician

MergeMagician is a unique approach to the problem of parallel software development using source code branches. Examples of parallel development include service pack branches, feature branches, bug fix branches, team branches, and promotion branches.

You are probably wondering, "What exactly is MergeMagician?" and "What does it do?" Let's address those questions.

There are three ways to think of MergeMagician.

First, MergeMagician does for branching and merging what continuous integration does for software build management. Similar to the way a continuous integration server monitors your repositories and automatically triggers software builds (based on rules you configure), MergeMagician will monitor your version control repositories and automatically merge changes between branches based on a highly configurable set of connection rules.
Second, MergeMagician is a process management solution specifically designed for the domain of branching and merging source code.
Finally, MergeMagician is a team collaboration tool designed to let all team members, when needed, participate in the merge resolution process.

Automated Merging

MergeMagician is an automated merging server designed to work with your existing software configuration management (SCM) system. Using an elegant and innovative approach, MergeMagician connects your branches together using publishers and subscribers. You can create as many publishers and subscribers as you'd like. Based on these branch relationships, MergeMagician automatically migrates code from their original source branches to their destination branches.

Supported SCM Systems

Currently MergeMagician support Subversion and Microsoft Team Foundation Server. Future versions of MergeMagician will support all popular version control systems.

Automated Merging & Continuous Integration

MergeMagician is particularly useful for agile development teams utilizing continuous integration (CI), and who wish to benefit from parallel development. In the past, it has been quite difficult to use CI and branching together. For example, if you create separate branches for each feature under development, there's no automated way of running a CI build on the combined feature set. With MergeMagician, the separate feature branches can be automatically merged into an integration branch, where it could then be built using a CI server.