git-svn: avoid a huge memory spike with high-numbered revisions

Passing very large strings as arguments is bad for memory usage
as it never seems to get freed in Perl.  The .rev_db format is
already not optimized for projects with sparse history.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
diff --git a/git-svn.perl b/git-svn.perl
index efc5515..ddb0382 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -1345,8 +1345,9 @@
 	seek $fh, 0, 2 or croak $!;
 	my $pos = tell $fh;
 	if ($pos < $offset) {
-		print $fh (('0' x 40),"\n") x (($offset - $pos) / 41)
-		  or croak $!;
+		for (1 .. (($offset - $pos) / 41)) {
+			print $fh (('0' x 40),"\n") or croak $!;
+		}
 	}
 	seek $fh, $offset, 0 or croak $!;
 	print $fh $commit,"\n" or croak $!;