cococo111111 / svnx

Automatically exported from code.google.com/p/svnx
0 stars 0 forks source link

Custom diff application #133

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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