#!/bin/sh # # Wrapper script to use FileMerge as a merge-tool-cmd in Subversion # FM="/Developer/Applications/Utilities/FileMerge.app/Contents/MacOS/FileMerge" FMDIFF="$(basename $0)" GN="/usr/local/bin/growlnotify" while [ $# != 0 ]; do case $1 in -*) echo "Unknown option: $1" 1>&2 exit 1 ;; *) if [ -z "$ancestorfile" ]; then ancestorfile="$1" elif [ -z "$leftfile" ]; then leftfile="$1" elif [ -z "$rightfile" ]; then rightfile="$1" elif [ -z "$mergefile" ]; then mergefile="$1" else echo "Too many files to start merge" 1>&2 exit 2 fi esac shift done if [ -z "$ancestorfile" ] || [ -z "$leftfile" ] || [ -z "$rightfile" ] || [ -z "$mergefile" ]; then echo "Usage: $0 [options] oldfile yourfile myfile outputfile" 1>&2 exit 2 fi echo Starting FileMerge... 1>&2 [ -x "$GN" ] && "$GN" -a FileMerge -n "$FMDIFF" -m "$mergefile" "Starting FileMerge" [[ "$mergefile" == */* ]] || mergefile="./$mergefile" exec "$FM" -left "$leftfile" -right "$rightfile" \ -ancestor "$ancestorfile" -merge "$mergefile"