Index: subversion/bindings/swig/ruby/svn/client.rb =================================================================== --- subversion/bindings/swig/ruby/svn/client.rb (revision 24067) +++ subversion/bindings/swig/ruby/svn/client.rb (working copy) @@ -221,10 +221,18 @@ no_diff_deleted=false, force=false, header_encoding=nil) header_encoding ||= Core::LOCALE_CHARSET - Client.diff3(options, path1, rev1, path2, rev2, - recurse, ignore_ancestry, - no_diff_deleted, force, header_encoding, - out_file, err_file, self) + if depth.class == TrueClass || depth.class == FalseClass + # DEPTH will point to a boolean recurse flag. + Client.diff3(options, path1, rev1, path2, rev2, + depth, ignore_ancestry, + no_diff_deleted, force, header_encoding, + out_file, err_file, self) + else + Client.diff4(options, path1, rev1, path2, rev2, + depth, ignore_ancestry, + no_diff_deleted, force, header_encoding, + out_file, err_file, self) + end end def diff_peg(options, path, start_rev, end_rev,