Using 3rd Party File Comparison Tools with Versions

Versions has built-in support for many popular file comparison tools, including Kaleidoscope. Other supported applications are:

  • Araxis Merge
  • BBEdit
  • Changes
  • DeltaWalker
  • DiffMerge
  • FileMerge
  • P4Merge
  • TextMate
  • TextWrangler

If you are using an application that Versions does not already support, but has command line integration, you may still be able to use it by creating your own custom comparison script.

In this example, we are creating a script that will launch Kaleidoscope via ksdiff from Versions. It requires Kaleidoscope and the ksdiff command-line tool (See the Integration option in the Kaleidoscope program menu).

The script receives two filenames as parameters then passes those to ksdiff. To add the script to Versions:

  1. Check for a 'Compare Scripts' folder in Versions' Application Support folder and create one if it doesn't exist:

    ~/Library/Application Support/Versions/

    ("~" refers to your Home folder)

  2. Create a text file with the following commands:

    #!/bin/sh
    
    ksdiff --wait "$1" "$2"
    
  3. Save this file to the "Compare Scripts" folder as My Custom Diff.sh. Versions uses the script's file name in the "File Comparison" list in Preferences. It will be listed as an option the next time you launch Versions.

  4. The script file needs to be marked as executable. Versions will offer to do this for you the first time it tries to run the script. If you prefer, you can do this yourself via the Terminal with the following command:

    chmod +x ~/"Library/Application Support/Versions/Compare Scripts/My Custom Diff.sh"
    

Once configured, you can launch your custom diff tool from Versions via the History or Compare screens, or other locations where diffing is available.