diff -ur subversion-1.3.1/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c subversion-1.3.1-emp/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c --- subversion-1.3.1/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c 2006-01-09 18:49:33.000000000 -0800 +++ subversion-1.3.1-emp/subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c 2006-04-10 23:23:44.000000000 -0700 @@ -1785,7 +1793,11 @@ c2r_string2(name)); result = invoke_callback_handle_error(args, Qnil, &err); - *value = r2c_svn_string(result, NULL, pool); + if(NIL_P(result)) { + *value = NULL; + } else { + *value = r2c_svn_string(result, NULL, pool); + } } return err; @@ -1830,12 +1842,12 @@ if (!NIL_P(callbacks)) { VALUE args; - args = rb_ary_new3(4, + args = rb_ary_new3(5, callbacks, rb_id_push_wc_prop(), c2r_string2(path), c2r_string2(name), - c2r_svn_string((void *)name, NULL)); + c2r_svn_string((void *)value, NULL)); invoke_callback_handle_error(args, Qnil, &err); } @@ -1900,6 +1912,8 @@ { VALUE rb_auth_baton; + *baton = (void*)rb_callbacks; + rb_auth_baton = rb_funcall(rb_callbacks, rb_id_auth_baton(), 0); *callbacks = apr_pcalloc(pool, sizeof(**callbacks)); diff -ur subversion-1.3.1/subversion/bindings/swig/ruby/svn/delta.rb subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn/delta.rb --- subversion-1.3.1/subversion/bindings/swig/ruby/svn/delta.rb 2005-09-10 23:35:43.000000000 -0700 +++ subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn/delta.rb 2006-04-10 00:27:13.000000000 -0700 @@ -161,7 +161,7 @@ end def change_dir_prop(dir_baton, name, value) - args = [self, @baton, dir_baton, name, value] + args = [self, dir_baton, name, value] Svn::Delta.editor_invoke_change_dir_prop(*args) end @@ -208,8 +208,8 @@ Svn::Delta.editor_invoke_absent_file(*args) end - def close_edit - args = [self, @baton] + def close_edit(rb) + args = [self, @baton, rb] Svn::Delta.editor_invoke_close_edit(*args) end diff -ur subversion-1.3.1/subversion/bindings/swig/ruby/svn/ra.rb subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn/ra.rb --- subversion-1.3.1/subversion/bindings/swig/ruby/svn/ra.rb 2005-08-31 11:55:16.000000000 -0700 +++ subversion-1.3.1-emp/subversion/bindings/swig/ruby/svn/ra.rb 2006-04-10 00:27:13.000000000 -0700 @@ -199,12 +199,12 @@ attr_accessor :baton def set_path(path, revision, start_empty=true, lock_token=nil) - Rs.reporter2_invoke_set_path(self, @baton, path, revision, + Ra.reporter2_invoke_set_path(self, @baton, path, revision, start_empty, lock_token) end def delete_path(path) - Rs.reporter2_invoke_set_path(self, @baton, path) + Ra.reporter2_invoke_set_path(self, @baton, path) end def link_path(path, url, revision, start_empty=true, lock_token=nil)