Re: [RFH] - git-svn auth bug (possibly SVN 1.5.0-related)
From: Dmitry Potapov <hidden>
Date: 2016-06-15 22:45:06
On Sun, Aug 03, 2008 at 03:02:51PM -0700, Eric Wong wrote:
It could be another incompatibility introduced in SVN 1.5.0. I'll try to dist-upgrade a machine to Lenny sometime in the next two weeks so I can test; I'm pretty busy these days but if anybody else wants to figure this out in the meantime, please do :)
The problem happens only if you use FS format 3 regardless what version
of SVN perl binding you use. Also, there is no problem with using SVN
1.5 (I tried 1.5.1) as long as you use FS format 2 (I tested git-svn
with libsvn-perl 1.4.2 and 1.5.1 works fine) but if your repository is
initialized to use FS format 3 (which is the default in SVN 1.5) then
this problem happens with all versions of SVN perl binding, and it
happens exactly in the same place:
/home/dpotapov/git/git-svn:3333: my @ce = $opts->{ra}->get_commit_editor($opts->{log},
sub get_commit_editor {
/home/dpotapov/git/git-svn:3909: my ($self, $log, $cb, $pool) = @_;
/home/dpotapov/git/git-svn:3910: my @lock = $SVN::Core::VERSION ge '1.2.0' ? (undef, 0) : ();
/home/dpotapov/git/git-svn:3911: $self->SUPER::get_commit_editor($log, $cb, @lock, $pool);
sub AUTOLOAD {
/usr/lib/perl5/SVN/Ra.pm:74: my $class = ref($_[0]);
/usr/lib/perl5/SVN/Ra.pm:75: my $method = $AUTOLOAD;
/usr/lib/perl5/SVN/Ra.pm:76: $method =~ s/.*:://;
/usr/lib/perl5/SVN/Ra.pm:77: return unless $method =~ m/[^A-Z]/;
/usr/lib/perl5/SVN/Ra.pm:79: my $self = shift;
/usr/lib/perl5/SVN/Ra.pm:82: my $func = $self->{session}->can ($method)
/usr/lib/perl5/SVN/Ra.pm:85: my @ret = $func->($self->{session}, @_);
Numbers of lines may be different for different versions of libsvn-perl,
but the effect is exactly the same. Instead of going to the next line
and completing AUTOLOAD, if you use FS format 3 then you end up in
croak_on_error(), which uses some uninitialized value in string
concatenation (which produces an additional warning) and then calls
croak(). End of the story :(
Dmitry