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 <danielsh_at_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
Received on 2012-04-20 23:29:27 CEST