4

I am trying to set up my dev environment and I got SVN running with Eclipse on my mac (with Subclipse). However, when I click on a file I've changed and go to Compare With -> Latest From Repository, I noticed I was getting (what I think is) a sub-par diff tool.

So, I went to Preferences -> Team -> SVN -> Diff/Merge to configure an external diff tool (called "DiffMerge"). However, no matter what I put in the "External" field and the "Parameters" field, I cannot get the DiffMerge tool to work.

For example, I tried "/Applications/DiffMerge" in the External field (I put the executable directly in the Applications folder for now) and made the parameters: "${base}" "${yours}". However, when I return to my modified file and hit compare with -> Lates from repository, I still get the same built-in diff tool.

Any ideas or resources you could point me to would be greatly appreciated (I've been hunting around stackoverflow myself for answers but to no avail).

ryan
  • 2,311
  • 3
  • 22
  • 28

4 Answers4

1

I started using Mac recently and I faced the same problem. As suggested by Chris I got it working for DeltaWalker.

Steps : 1. Install BeyondCVS plugin with svn. This will ensure that BeyondCompare is added under Eclipse -> Preferences -> External Tools.

  1. Open Eclipse -> Preferences -> External Tools -> Beyond Compare.

  2. In the "Path To Beyond Compare" manually enter the installation folder for Delta Walker which on my machine is "/Applications/DeltaWalker.app/Contents/MacOS/DeltaWalker"

rocketkid
  • 31
  • 2
0

I beleive DiffMerge is a .app is it not? In that case i think you would have to give the path to actual binary which should be something like: /Applications/DiffMerge.app/Contents/MacOS/DiffMerge. If you right click on the app in Finder an do "Show Contents" it shoudl allow you to browse it like the regular directory it is... Or you can navigate into it from the command line and find the bianary you need.

Just out of curiosity whats worng with Subclipse's built in tool? IMO its the best Diff/Merge on OSX - but maybe im missing something.

prodigitalson
  • 60,050
  • 10
  • 100
  • 114
  • I click "Browse" in Eclipse, but it won't let me see the contents of the .app (it picks the .app instead). So, as a workaround, I went to Finder and copied the DiffMerge executable from the path you listed above and placed it directly in Applications, but that still doesn't work. I don't like the Diff/Merge tool in Subclipse because the outputs are less useful than I've found in other diff tools (like Beyond Compare when I used to use a PC). For example, I prefer the diff tool to line up matching lines, whereas the default tool doesn't do that well. – ryan Dec 07 '09 at 16:06
  • Well dont use the browse... Try typing the path in manually. Also copying that file isnt going to work... it has to be invoked in the context of the package to open properly. – prodigitalson Dec 07 '09 at 16:17
  • 1
    Thatnks prodigitalson (nice username, btw). I tried to type the path you suggested in manually, but eclipse won't allow for manual entry (as far as I can tell, I can only use the "browse" button). Sorry to ask so many questions, but I am new to this, so any other advice you might have would be appreciated. – ryan Dec 07 '09 at 19:31
  • Ahhh.. nomrally the diags allow direct typing perhaps that one doesnt. Im going from memory here as i have to use NetBeans on my current project and dont have Eclipse installed on this workstation. I did find this though: svn.haxx.se/subusers/archive-2006-08/… It seems to state that you can only use the external progam when editing conflicts and not for "compare with x". – prodigitalson Dec 07 '09 at 19:39
0

I am using the BeyondCVS plugin with SVN. Despite its name, it works both Subclipse and Subversive. And it will launch comparison apps other than BeyondCompare, (I've used WinMerge), so it may work with DiffMerge on the Mac.

Chris Noe
  • 36,411
  • 22
  • 71
  • 92
0

I was able to get this to work after some experimentation. You need to trick Subclipse into finding the right file to open.

  1. Open finder and navigate to DiffMerge.app
  2. Right click > "Show Package Contents"
  3. Navigate to Contents/MacOS/DiffMerge
  4. Right click > "Make Alias"
  5. Drag and Drop the "DiffMerge alias" file to your home folder
  6. In Eclipse, select the alias file as the external diff program
  7. Set the parameters to "-m -t1=Theirs -t2=Merged -t3=Mine -r=${merged} ${theirs} ${base} ${yours}"
jakebasile
  • 8,084
  • 3
  • 28
  • 34