Skip to contentSkip to conversation

git-svn clone fails

DISCUSSION Janne Kulmala 2 participants 2 messages Jun 15, 2016 Kbuild

lore
Share & tools
lore
#0 lore raw

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.

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?

Janne Kulmala

#1 lore raw
Quoted 6 lines · Janne Kulmala

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:

Quoted 7 lines

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 renamed from usr/lib/perl5/SVN/Core.pm.oud +3 -1
@@ -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;
Quoted 4 lines

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