Simulate SVN diff using plain diff

Hi,

svn diff does not work very well with 2 local folders, so I am trying to do this diff using diff locally.

since there's a bunch of meta files in an svn directory, I want to do a diff that excludes everything EXCEPT *.java files. there seems to be only an --exclude option, so I'm not sure how to do this.

perhaps, we can use find and execute diff on each .java
or
we can do a grep after we get our result (filter to only .java diffs), but that'd be tricky.

this is what I have so far.
diff -r --exclude=.svn dir1/ dir2/ > diffs.txt

there are simply too many types of files to filter using only the --exclude option.

anyone have thoughts?

how about:

       --exclude-from=file
              When  comparing  directories, ignore files and subdirectories whose
              basenames match any pattern contained in file.

Well, as I've said, there are simply too many files in there to try to exclude everything.

Unless, you are suggesting there is a way using an exclude file to instead INCLUDE only certain files?

Any help on this? All I want is a way to use diff with --include instead of --exclude...