Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

How do I fix opendiff?

I just remembered FileMerge comes with Dev Tools so I'm posting this here along with the generic question I posted in the Leopard Forum.

I also found out Opendiff is the one in charge of launching FileMerge and it works fine from DreamWeaver. But when I use the "Compare Files" service, i.e. the contextual menu option, FileMerge opens but the open window sits there with its fields empty, and I can't drag the files in because the finder script is still running and won't let me do a thing until I hit escape key.


I installed Developer Tools time ago to get FileMerge but I always used it manually. This is the first time that I actually went to DreamWeaver and set it up correctly. It works fine from DW, though. It's the Finder Service which won't find the files selected in Finder.


How do I fix opendiff or whatever the OS Service uses?


Does it have anything to do with the other issue in which Chrome won't find the files when opened from DW? i.e. DW Uses no "Volume" before the Partition name.


Thanks.

MacBook Pro, Mac OS X (10.6.8)

Posted on Feb 1, 2012 3:34 AM

Reply
16 replies

Feb 3, 2012 7:07 AM in response to applxperience

There isn't even support for FileMerge nor Xcode.

I am submitting a bug: The bug is There's no support for Xcode.

Are developers supposed to debug their (Apple's) own bugs?


Xcode is not even in the list of apps to get support form.

And the other apps take you a lap to the whole site to end up throwing you one way or another into the forums.

It's like buying a poisoned bottle of liquor and when you turn back the liquor store is not there, just a AA group.

(I'll patent that phrase for bad support 🙂 )

Feb 3, 2012 1:09 PM in response to applxperience

I have no clue what you are talking about.


I never knew there was a "Compare Files" service. I never use services at all. I very rarely need to compare files. Usually I'm comparing a previous revision in some SCM repository. If I do need to compare files, I would do it on the command line with a script like this:


#!/bin/sh


# Get a hold of the last parameter.

eval LAST=\${$#}


# Now run opendiff with the previous version and the current version.

opendiff ${*} -merge "$LAST"


You can use Automator to hack up your own "Compare Files" service if you want.


There. You've been supported.

Feb 3, 2012 2:23 PM in response to K T

For a brief moment I got exited about the automator thing.

I really like to hack things.


If you tell me where the for compare service is, I'm sure I'll be able to make it work 🙂

I took apart my first brand new scooter. Same with my new Powerbook Titanium, and every php it falls in my hands hehe.


It's probably related to the missing "Volumes" other apps bugged me with (i.e. DreamWeaver not "browsing with" Chrome, but I'm sure it's an OS issue, not Adobe's)

Feb 3, 2012 3:11 PM in response to etresoft

etresoft: I'd hack files with automator, since automator is an Apple App.


Using terminal…

I always buy Apple computers. They are double as expensive as PC's (mine more)

I use Apple Apps.

I design using Adobe Apps, same simple and intuitive…

but

You can't expect me to type into a Terminal screen. (First you should explain me not using idioms or terminal-related instructions, because only you knows what all that means. e.g. parameters? compiling?

That's not support.


That's a "Invest the years that took me to be a Mac Developer, win your wings and then do it yourself" kind of answer. It's like a "f _ _ k yourself" for windows users hehe. (I already "paid" for my wings by buying a Mac, so I get the first nicer answer, of course)


Still not support.

It never worked and I always though it was Chrome's fault, because it was new… but after more than a year…


Yet you got it. I think you are a amazing developer, and I'm not.

Oh, and an amazing helper! 16260 posts are only possible bragging rather than helping 🙂

Feb 3, 2012 3:16 PM in response to K T

Two jokes in the same post. I like your style KT.


One hole in and another out? or is it a double barrel gun? hehe


I did report a bug. And the bug reporter throw me an error and gave me an email link with a pre-populated questionaire to report the bug of the bug reporter.


Seriously. I wrote a topic about that too, with a cool empty developer search results page with the weels spinning and nothing happening.

Feb 4, 2012 6:11 AM in response to applxperience

If you stopped ranting for about 2 and a half minutes at some point, your problem would be solved.


1. Select the code above and copy it to the clipboard.

2. Run Terminal.app and type these commands

3. mkdir ~/bin

4. pbpaste > ~/bin/rundiff

5. chmod ugo+ ~/bin/rundiff


Now create an Automator service using selected files in the Finder and have it call "run shell script" to run this script, feeding it input as arguments.


You don't need to learn anything about compiling. But if you are going to successfully do web development on a Mac, you need to learn how to use the operating system. If you are going to ask questions in a developer forum, you are going to learn how to use the Terminal and create many of your own solutions. A good first step would be to ditch that ancient Dreamweaver.

Feb 4, 2012 8:11 AM in response to etresoft

I wrote to the Developer forum because Apple wants me to.


There's nowhere to ask for help for FileMerge.

It comes with Xcode

Xcode is NOT in the list of Apps in the support website.

So, indirectly, Apple is getting me coming here and rant here. Which is the intended to saving on customer support.


I' trying your code to get my first hole in the head and will come back if the second didn't kill my computer.

Feb 4, 2012 2:29 PM in response to etresoft

You are a genius.


Thanks.

It worked like a charm


A few notes:

The file I created wasn't necessary, and I wasn't allowed to do it loged-in as me (probably I had to do it logged as root). So I created somewhere else and moved it to /bin/ later.


When drag/dropping that file in Automator there was no way to select inputs as parameters. So I figured out what I had to drop in there were actions at the left.


So I found "run shell script" which gave me options to /bin/bash, /bin/csh, etc., but none for just /bin/


So I just selected /bin/sh from the drop down and pasted the code in there. No file required.


It works perfect. Thanks again.


Now, The service not-working is inside FileMerge's plist itself and it shows like this: (again, the image uploader doesn't enable the submit button in chrome! )User uploaded file

Do you think this can give us a clue of what's wrong with FileMerge's original Service? (I'm still wondering whether the missing "Volumes" in the paths is just the tip of the Iceberg that would fix other things in my mac, like the "Browse in Chrome" option in DreamWeaver )


Also. I found a file "Opendiff.1" inside Developer/urs/share/man/man1/


.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples. .\"See Also: .\"man mdoc.samples for a complete listing of options .\"man mdoc for the short list of editing options .\"/usr/share/misc/mdoc.template .Dd August 3, 2004 \" DATE .Dt opendiff 1 \" Program name and manual section number .Os "Mac OS X" .Sh NAME \" Section Header - required - don't modify .Nm opendiff .Nd Use FileMerge to graphically compare or merge file or directories .Sh SYNOPSIS \" Section Header - required - don't modify .Nm .Ar file1 file2 .Op Fl ancestor Ar ancestorFile .Op Fl merge Ar mergeFile .Nm .Ar dir1 dir2 .Op Fl ancestor Ar ancestorDirectory .Op Fl merge Ar mergeDirectory .Sh DESCRIPTION \" Section Header - required - don't modify .Nm is a command line utility that provides a convenient way to launch the FileMerge application from Terminal to graphically compare files or directories. If FileMerge is already running, opendiff will connect to that running instance for the new comparison. .Nm exits immediately after the comparison request has been sent to FileMerge. .Pp .Nm and FileMerge can be used to compare two files .Ar file1 and .Ar file2 or to compare two directories .Ar dir1 and .Ar dir2 . .Pp If the .Fl ancestor flag is given, FileMerge will compare the two files or directories to a common ancestor. This is useful if two people independently modify copies of a single original file or directory. .Pp FileMerge lets you merge two files or directories together to create a third file or directory. To see the contents of a merged file, drag the splitter bar at the bottom of FileMerge's file comparison window. The contents of the merged file can be directly edited within FileMerge. After editing, the merged file can be saved to the file (or into the directory) specified with the Fl merge flag. If a destination is not specified with the .Fl merge flag, FileMerge will ask for a destination file or directory when you try to save a merged file. .Pp For further information, please consult the Help information available from the FileMerge application. .Sh FILES .Bl -tag -width "/Developer/Applications/Utilities/FileMerge.app" -compact .It Pa /Developer/Applications/Utilities/FileMerge.app .El .Pp .Nm and FileMerge are installed as part of the Mac OS X Developer Tools. .Sh SEE ALSO .\" List links in ascending order by section, alphabetically within a section. .\" Please do not reference files that do not exist without filing a bug report .Xr diff 1 , .Xr diff3 1 , .Xr cmp 1 .\" .Sh BUGS \" Document known, unremedied bugs

Feb 4, 2012 4:54 PM in response to applxperience

applxperience wrote:


You are a genius.


Thanks.


You're welcome! I've been called worse today 🙂


A few notes:

The file I created wasn't necessary, and I wasn't allowed to do it loged-in as me (probably I had to do it logged as root). So I created somewhere else and moved it to /bin/ later.


When drag/dropping that file in Automator there was no way to select inputs as parameters. So I figured out what I had to drop in there were actions at the left.


So I found "run shell script" which gave me options to /bin/bash, /bin/csh, etc., but none for just /bin/


So I just selected /bin/sh from the drop down and pasted the code in there. No file required.


It works perfect. Thanks again.


As long as you have it working, that's fine. There are many ways to accomplish the same thing. I think the trouble you had was because were trying to save files in /bin, which is owned by root. It isn't advisable to put things there because software update are likely to delete them. I wanted you to create a directory called "bin" in your home directory for such handy scripts. It should work fine directly from Automator, so no big deal.


Now, The service not-working is inside FileMerge's plist itself and it shows like this: (again, the image uploader doesn't enable the submit button in chrome! ) Do you think this can give us a clue of what's wrong with FileMerge's original Service?


I think that is just leftover code. At some point FileMerge was updated and it is no longer talking to the service port. It is likely a bug, but not one that anyone noticed. There isn't much of an implicit "order" of files in the Finder. Usually, when comparing files, it is very important to know the before and after. There is no way to determine before and after of two different files.


(I'm still wondering whether the missing "Volumes" in the paths is just the tip of the Iceberg that would fix other things in my mac, like the "Browse in Chrome" option in DreamWeaver )


Dreamweaver is ancient code. Adobe likely has no plans to update it. The missing "Volumes" could be a problem, but probably isn't. The "Volumes" part of a path is a change that the UNIX-based MacOS X requires. In the old MacOS code, it didn't exist. Dreamweaver certainly uses those old compatibility libraries. The lack of a "Volumes" in its path wouldn't necessarily cause any problems unless it tried to give that path to a newer program.


If you are doing web development, you really shouldn't be previewing files anyway. You should be deploying your site locally in /Library/WebServer/Documents or in ~/Sites and previewing the running site.

Feb 5, 2012 9:47 AM in response to etresoft

etresoft:


Yes, I should setup again the local sites, but I don't want to drop the bone and keep them all once in my secondary partition. It took me days last time to find out the right apache combination of configs to use the "Work" partition and have it protected as my home folder… but once I re-installed apache during the sql local installation it stopped working from there. I revised the config files but I quit.


SQL works and since "I already learned" the basics of SQL and made my first own app with it, I lost the interest on getting deeper into it.


I just keep a "parsed" html version of my sites (wordpress) and I just do what I like the most: css.

I do PHP but since exporting and synching is time consuming I just work with the live site for every php change.


If Apple makes it painless some-day I'll have everything running at the same time.


By the way: How is supposed to work the "Compare Files" service today if it was dropped time ago? (I noticed they are "signed" now, like the one inside XCode I didn't posted because it was all ecrypted)


Thanks for your knowledge.


kT: AA is great please to get support from others, but if everyone drops their attitude to the winery which made the poisonous wine, the little incentive to make safe wines will be lost. (we'd have even less support for our aps)


People who feel empathy with one will help and the others feel free to not to respond.

Feb 5, 2012 9:56 AM in response to applxperience

applxperience wrote:


By the way: How is supposed to work the "Compare Files" service today if it was dropped time ago? (I noticed they are "signed" now, like the one inside XCode I didn't posted because it was all ecrypted)

Developer tools from Apple are not consumer-level programs. While they aren't meant to be difficult, they aren't meant to be easy to use either. There is an expectation that developers will be able to figure things out.

Apr 16, 2012 7:27 AM in response to applxperience

What worked for me is looking into the XCode.app package.


In there you can find the opendiff that FileMerge (also an application inside the Xcode.app) uses. The opendiff in /usr just points to the wrong place.


So I changed the path in Dreamweaver to:


Macintosh HD:Applications:Xcode.app:Contents:Developer:usr:bin:opendiff


That works. Without Terminal commands.

How do I fix opendiff?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.