How are you getting this file

 SVN/Mirror/Ra.pm

it seems subversion generates one, but it is only 214 lines long.
also, this call:

 $reporter->set_path ('', $start, @lock, 0);

is no where to be found in the *.pm files generated by subversion-1.3.0.

Are you sure you don't have a PATH variable set such as is using
and old version of Ra.pm?

Anyway, it fails calling 'set_path'

  obj->set_path(report_baton, path, revision, start_empty, lock_token, pool);

where the '6' one refers to 'lock_token', is @lock realy a string parameter,
could you print it out before the call?.

SWIG/perl now detects better errors such as calling with the wrong
number of arguments or wrong argument type.

Marcelo


Loïc Minier wrote:

       Hi there,

This is a followup for Debian bug <http://bugs.debian.org/356894>.

On Mon, Mar 20, 2006, Marcelo Matus wrote:
subversion 1.3.0 has been tested against 1.3.28 and 1.3.29, and it seems to be working, well, at least the internal subversion test-suites for perl, python and ruby.

still, if you thing there is an issue, the best thing will be try to isolate the problem
in one small example that we could test over here.

The exact error is thrown by the following line:
   $reporter->set_path ('', $start, @lock, 0);
in SVN/Mirror/Ra.pm at line 524.

However, while setting up a test case for you, I copy-pasted the
SVN::Mirror example from the manual page:
   #!/usr/bin/perl -w

   use SVN::Mirror;

   my $url = 'svn://svn.debian.org/svn/pkg-madwifi';
   my $repos = '/tmp/foobar/repo';

   my $m = SVN::Mirror->new (source => $url,
                             repos => $repos,
                             target_path => '/mirror/pkg-madwifi',
                             repos_create => 1,
                             skip_to => 80
                            );

% mkdir -p /tmp/foobar/repo; cd /tmp/foobar; perl ~/foo.pl
% perl ~/foo.pl Use of uninitialized value in -e at /usr/share/perl5/SVN/Mirror.pm line 86.
zsh: segmentation fault  perl ~/foo.pl

Looks to me as there's a couple of bugs here already:
- documentation out of date
- does not check whether repospath is defined prior to checking whether
  the file exists
- perl segfaults

Just adding a "target" to that call is enough to trigger the actual
bug:
   #!/usr/bin/perl -w

   use SVN::Mirror;

   my $url = 'svn://svn.debian.org/svn/pkg-madwifi';
   my $repos = '/tmp/foobar/repo';

   my $m = SVN::Mirror->new (source => $url,
                             repos => $repos,
                             target => '/tmp/foobar/target',
                             target_path => '/mirror/pkg-madwifi',
                             repos_create => 1,
                             skip_to => 80
                            );
   $m->init;
   $m->run;
% perl ~/foo.pl
Committed revision 1.
Syncing svn://svn.debian.org/svn/pkg-madwifi
Retrieving log information from 80 to 89
In SVN/Mirror/Ra.pm (reached)
TypeError in method 'svn_ra_reporter2_invoke_set_path', argument 6 of
type 'char const *'

   HTH,


Reply via email to