Skip to content

Instantly share code, notes, and snippets.

@cemckinley
Last active January 13, 2021 13:33
Show Gist options
  • Save cemckinley/6118300 to your computer and use it in GitHub Desktop.
Save cemckinley/6118300 to your computer and use it in GitHub Desktop.
Set up SVN to use Filemerge as a diff/merge tool

##Use FileMerge for SVN diffs/merges (via command line)

###Install bash scripts

Setup and bash scripts are from the writeup here: http://www.defraine.net/~brunod/fmdiff/

Checkout file merge utility scripts from here: http://soft.vub.ac.be/svn-gen/bdefrain/fmscripts/ or download archive here: http://www.defraine.net/~brunod/fmdiff/fmscripts-20120813.tar.gz

Move to the directory of the downloaded files and make to allow the included makefile to locate the FileMerge app and then sudo make install to install the scripts to your bin folder.

###Edit Your SVN Config

Open ~/.subversion/config and find the following commented lines:

  • # diff-cmd = diff_program (diff, gdiff, etc.) and define below it: diff-cmd = fmdiff
  • # merge-tool-cmd = merge_command and define below it: merge-tool-cmd = fmmerge

###Use FileMerge during a merge conflict

When a merge conflict happens, choose type s (other options) and then type l (launch) to use FileMerge as the diff tool. FileMerge will launch with 'their' version on the left and 'your' version on the right. When done editing the files, ⌘-S and ⌘-Q to return to Terminal. Type r to mark the conflict as resolved.

@b-89
Copy link

b-89 commented Feb 26, 2020

This helped me out a ton.

One thing for me that wasn't working, I couldn't do a sudo make install. I could however just install each script to the /usr/local/bin.

Then I just ended up mv filemerge /usr/local/bin and setting up the config.

Worked like a charm! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment