Merging With Subversion No Longer Painful

September 20, 2008

Last week I wrote about the various third party tools one can use to make branch based development easy with Subversion. One of the comments to that post mentioned new merging features in Subversion 1.5, and I quickly checked them out. They solve the same issues as Combinator and svnmerge.py and more.

:EXTENDED:

Ben Collins-Sussman has written up the basics of how the new merging features work. This is well worth a read. More detailed information can be found in the latest version of the Subversion book in the chapter on branching and merging.

Subversion adds merge history information into the tree by using a special revision property. This is a lot like svnmerge.py’s solution, and, in fact, there is a script to convert repositories that used svnmerge.py to the new format.

The only real caveat is that both the client and the server must be running Subversion 1.5.x, and to prevent merges without history from happening, one must also prevent pre-1.5.x clients from committing. This is a small price to pay for this functionality, and will become ever smaller as everyone upgrades over time.

Merging With Subversion No Longer Painful - September 20, 2008 - Jack Moffitt