I was able to get info2 working with Daniel's suggestion, but now I can not get status3 to work.
For the code below I get this error when it tries to run status3: TypeError in method 'svn_client_status3', argument 4 of type 'svn_wc_status_func2_t' Seems like it wants me to typecast the subroutine, but not sure how to do that? $s = SVN::Client->new(); # Standard status print "Using status:\n"; $s->status("", undef, sub{($path, $status) = @_; print "$path,$status\n" }, 1, 1, 1, 0); print "\n\nUsing status3:\n"; $s->status3( "", undef, sub{($path, $status) = @_; print "$path,$status\n" }, $SVN::Core::depth_immediates, 1, 1, 0, 1, undef ); Thanks, Jim On Wed, Mar 21, 2012 at 5:14 PM, Daniel Shahaf <danie...@elego.de> wrote: > Jim Searle wrote on Wed, Mar 21, 2012 at 16:03:05 -0700: >> I am currently using the perl api info and diff_summarize methods, but >> I need to switch to info2 and diff_summarize2 since they support the >> 'depth' option. But I can't figure out the correct syntax, does >> anyone have an example? >> > > % perl -MSVN::Client -le '$s = SVN::Client->new(); > $s->info2( "", 1,"HEAD", > sub{($target, $info_t, $pool) = @_; > print "$target: ", $info_t->URL }, > $SVN::Core::depth_infinity, undef )' > A: file:///tmp/svn/r1/trunk/A > A/B: file:///tmp/svn/r1/trunk/A/B > ... > A/D/H/psi: file:///tmp/svn/r1/trunk/A/D/H/psi > iota: file:///tmp/svn/r1/trunk/iota > > How I built this: > > - Follow the docs of the svn_client_info2() C API (in doxygen, or in > svn_client.h) > > - Drop the ctx parameter > > - Drop any baton parameters > > - When in doubt about some object --- print it. ref() and Dumper() help too. > > HTH, > > Daniel > >> Thanks, >> Jim