From: Matthias Urlichs Date: Mon, 10 Oct 2005 12:14:44 +0000 (+0200) Subject: svn import: avoid reconnecting X-Git-Tag: v0.99.9~112^2~16 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=8cd4177d5ef651c8acb9c1f113a076e6fae2e1c2;p=git.git svn import: avoid reconnecting Perl's eval() sets $@ to empts, not undef, when it succeeds. That caused excessive reconnect attempts. Signed-Off-By: Matthias Urlichs --- diff --git a/git-svnimport.perl b/git-svnimport.perl index ef73f364..ba9f818a 100755 --- a/git-svnimport.perl +++ b/git-svnimport.perl @@ -100,8 +100,6 @@ sub new { $self->{'fullrep'} = $repo; $self->conn(); - $self->{'lines'} = undef; - return $self; } @@ -112,6 +110,7 @@ sub conn { die "SVN connection to $repo: $!\n" unless defined $s; $self->{'svn'} = $s; + print STDERR "*** SVN *** $s ***\n"; $self->{'repo'} = $repo; $self->{'maxrev'} = $s->get_latest_revnum(); } @@ -124,13 +123,15 @@ sub file { DIR => File::Spec->tmpdir(), UNLINK => 1); print "... $rev $path ...\n" if $opt_v; - eval { $self->{'svn'}->get_file($path,$rev,$fh); }; - if (defined $@ and $@ !~ /Attempted to get checksum/) { + my $s = $self->{'svn'}; + print STDERR "*** GET *** $s ***\n"; + eval { $s->get_file($path,$rev,$fh); }; + if ($@ and $@ !~ /Attempted to get checksum/) { # retry $self->conn(); eval { $self->{'svn'}->get_file($path,$rev,$fh); }; }; - return () if defined $@ and $@ !~ /Attempted to get checksum/; + return () if $@ and $@ !~ /Attempted to get checksum/; die $@ if $@; close ($fh);