Benjamin Halsted // [bgh] todo, add something clever here.

5Mar/100

Subversion loves Araxis Merge (or, How I finally configured subversion to use Araxis Merge in a not so stupid way.)

Araxis suggests modifying subversions diff-cmd and diff3-cmd settings to get it to use Araxis Merge instead of the defaults. Here is a snippet from their docs. (You can skip it, it's just here to make my post look bigger.):

Open your ‘SVN configuration area’ configuration file in a text editor. The default location for this file is ~/.subversion.

Uncomment the line that specifies the diff-cmd and set its value to the path of the Merge araxissvndiff executable that you have installed on your machine:

diff-cmd = /Users/<userid>/bin/araxissvndiff

Note: in the above path, replace /Users/<userid>/bin/araxissvndiff with the full path to the Merge Merge araxissvndiff command-line utility that you have installed on your machine.

Also uncomment the line that specifies the diff-cmd3 and set its value to the path of the Merge araxissvndiff3 executable that you have installed on your machine:

diff3-cmd = /Users/<userid>/bin/araxissvndiff3

Note: in the above path, replace /Users/<userid>/bin/araxissvndiff3 with the full path to the Merge Merge araxissvndiff3 command-line utility that you have installed on your machine.

By doing what they say, you tell svn to use Araxis Merge every time it needs to merge a file. The problem with this is that svn will open Araxis Merge to make every merge. When you have a couple hundred files, you want svn to merge everything it can without opening Araxis Merge, and to only open it when there is a conflict. There is a way to do this, but it is not obvious.