Re: git-svn clone fails
On Tue, 2010-04-06 at 12:28 +0300, Janne Kulmala wrote:
Show 13 quoted lines
> I'm trying to clone OpenTTD subversion repository using git-svn from
> Debian Lenny testing. Git version is 1.7.0. The clone operationg always
> fails at the same revision with same error message.
>
> I am using the following command:
>
> git svn clone svn://svn.openttd.org/trunk openttd
>
> Which gives this error message:
>
> r1170 = 12fbf791d6e353346315756bf46cbbf75a325833 (refs/remotes/git-svn)
> Use of uninitialized value in concatenation (.) or string at
> /usr/lib/perl5/SVN/Core.pm line 584.
I don't do perl but this looks like a bug in subversion's perl bindings. This seems to fix it (where fix basically means something like "make sure this warning/error isn't printed again):
--- /usr/lib/perl5/SVN/Core.pm.oud 2008-08-13 18:32:32.000000000 +0200 +++ /usr/lib/perl5/SVN/Core.pm 2010-04-07 10:30:19.000000000 +0200
@@ -581,7 +581,9 @@
my $error_message = $svn_error->strerror();
while ($svn_error) {
- $error_message .= ': ' . $svn_error->message();
+ if ($svn_error->message()) {
+ $error_message .= ': ' . $svn_error->message();
+ }
$svn_error = $svn_error->child();
}
return $error_message;
> Network connection closed unexpectedly: at /usr/lib/git-core/git-svn
> line 5047
>
> Is this a Debian-specific problem, or a bug in git-svn?
No, the exact same problem can be triggered in fedora rawhide too (with
git-svn-1.7.0.1-1.fc14.noarch). It seems openttd's svn server terminates
the connection after fetching (roughly) 1000 commits. (I'm not sure what
happens. I don't know how to debug perl.)
A workaround might be to enter the openttd directory you just created
and do "git svn fetch" a number of times. (I stopped after it terminated
for the third time, around commit 2600. There are over 19.500 commits in
that trunk, so that might take a while. Whether you'll end up with a
working and correct clone I can't say.)
Could it be openttd's svn server doesn't really appreciate the way
git-svn uses it (a straightforward svn checkout finished much quicker
and in one session)?
Regards,
Paul Bolle