Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
Use svn pools to solve the memory leak problem.
author
Yaacov Akiba Slama
<ya@slamail.org>
Wed, 2 Nov 2005 21:51:57 +0000
(23:51 +0200)
committer
Junio C Hamano
<junkio@cox.net>
Tue, 8 Nov 2005 09:24:47 +0000
(
01:24
-0800)
Signed-off-by: Yaacov Akiba Slama <ya@slamail.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-svnimport.perl
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
4bfb6b6
)
diff --git
a/git-svnimport.perl
b/git-svnimport.perl
index 45b6a1986d1989d372077c5f388010ea988220e6..5bf9ef21e396eb91f549638f6d572172c2cb6f18 100755
(executable)
--- a/
git-svnimport.perl
+++ b/
git-svnimport.perl
@@
-112,7
+112,9
@@
sub file {
DIR => File::Spec->tmpdir(), UNLINK => 1);
print "... $rev $path ...\n" if $opt_v;
DIR => File::Spec->tmpdir(), UNLINK => 1);
print "... $rev $path ...\n" if $opt_v;
- eval { $self->{'svn'}->get_file($path,$rev,$fh); };
+ my $pool = SVN::Pool->new();
+ eval { $self->{'svn'}->get_file($path,$rev,$fh,$pool); };
+ $pool->clear;
if($@) {
return undef if $@ =~ /Attempted to get checksum/;
die $@;
if($@) {
return undef if $@ =~ /Attempted to get checksum/;
die $@;
@@
-674,7
+676,9
@@
sub commit_all {
}
while(++$current_rev <= $svn->{'maxrev'}) {
}
while(++$current_rev <= $svn->{'maxrev'}) {
- $svn->{'svn'}->get_log("/",$current_rev,$current_rev,$current_rev,1,1,\&_commit_all,"");
+ my $pool=SVN::Pool->new;
+ $svn->{'svn'}->get_log("/",$current_rev,$current_rev,1,1,1,\&_commit_all,$pool);
+ $pool->clear;
commit_all();
if($opt_l and not --$opt_l) {
print STDERR "Stopping, because there is a memory leak (in the SVN library).\n";
commit_all();
if($opt_l and not --$opt_l) {
print STDERR "Stopping, because there is a memory leak (in the SVN library).\n";