joeleee / svnx

Automatically exported from code.google.com/p/svnx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Custom diff application

GoogleCodeExporter opened this issue · comments

Hi,

I would like to see under svnX preferences, a way to specify the path to a diff 
application other than one of the canned applications. For example, I'd like to 
use gvimdiff. Also, on my system, TextWrangler and Kdiff3 aren't at the usual 
paths so those canned application options do not work.

Original issue reported on code.google.com by mortonfox on 13 Apr 2011 at 8:22

If you understand shell scripting you should be able to modify 
svnX.app/Contents/Resources/svndiff.sh & svnresolve.sh yourself in the meantime.

It shouldn’t matter where the TextWrangler or Kdiff3 applications are 
installed.
Please read section 3.11 of the help document.

Original comment by chris...@gmail.com on 14 Apr 2011 at 12:45

  • Changed state: Duplicate
  • Added labels: Type-Enhancement
  • Removed labels: Type-Defect
Indeed - thanks for this valuable help!

I was able to finally get DiffMErge to work. DiffMerge is installed as a 
regular OSX application, so the original forms

svndiff.sh -->
    "diffmerge"     ) /usr/local/bin/diffmerge.sh -ro1 -t1="$file1" -t2="$file2" "$file1" "$file2" ;;

svnresolve.sh -->
        "diffmerge"     ) /usr/local/bin/diffmerge.sh -ro2 -r="$f" "$left" "$base" "$right" ;;

won't do any good. I've replaced those two with

svndiff.sh -->
    "diffmerge"     ) open -a "DiffMerge" --args -ro1 -t1="$file1" -t2="$file2" "$file1" "$file2" ;;

svnresolve.sh -->
        "diffmerge"     ) open -a "DiffMerge" --args -ro2 -r="$f" "$left" "$base" "$right" ;;

and it works out just fine.

Original comment by zahng...@googlemail.com on 29 Nov 2011 at 11:19

The original works correctly¹.
However, it requires you to copy /Volumes/DiffMerge\ 
3.3.0.1001/CommandLine/diffmerge.sh (or /Volumes/DiffMerge\ 
3.3.1.1118/Extras/diffmerge.sh) into /usr/local/bin, which in turn requires 
DiffMerge.app to be in /Applications.  [Unless you edit diffmerge.sh.]

The `open` command does not accept `--args` on OSX 10.5, so your solution 
won’t work there.

¹ DiffMerge needs fixing so that use from the command line/a script does not 
require launching the app each time or installation in a particular location.

Original comment by chris...@gmail.com on 29 Nov 2011 at 4:18