Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-svn: avoid a huge memory spike with high-numbered revisions
author
Eric Wong
<normalperson@yhbt.net>
Wed, 31 Jan 2007 13:13:30 +0000
(
05:13
-0800)
committer
Eric Wong
<normalperson@yhbt.net>
Fri, 23 Feb 2007 08:57:11 +0000
(
00:57
-0800)
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>
git-svn.perl
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
d4eff2b
)
diff --git
a/git-svn.perl
b/git-svn.perl
index efc55156639316259a246e50d8ae7a51439b8155..ddb038260851659c90070fb0e42ad4458e86ce2f 100755
(executable)
--- a/
git-svn.perl
+++ b/
git-svn.perl
@@
-1345,8
+1345,9
@@
sub rev_db_set {
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 $!;