[svk-commit] r2296 - trunk/lib/SVK/Mirror/Backend

nobody at bestpractical.com nobody at bestpractical.com
Fri Feb 2 12:18:17 EST 2007


Author: clkao
Date: Fri Feb  2 12:18:17 2007
New Revision: 2296

Modified:
   trunk/lib/SVK/Mirror/Backend/SVNRaPipe.pm

Log:
In the pipelined sync editor, use pool more wisely for invoking editor
calls.  This fixes the memory bloat for syncing revisions with large
number of deleted files.


Modified: trunk/lib/SVK/Mirror/Backend/SVNRaPipe.pm
==============================================================================
--- trunk/lib/SVK/Mirror/Backend/SVNRaPipe.pm	(original)
+++ trunk/lib/SVK/Mirror/Backend/SVNRaPipe.pm	Fri Feb  2 12:18:17 2007
@@ -254,7 +254,8 @@
 	    $arg[$baton_at] = $baton_map->{$baton};
 	}
 
-	my $ret = $self->emit_editor_call($editor, $func, undef, @arg);
+	my $pool = SVN::Pool->new;
+	my $ret = $self->emit_editor_call($editor, $func, $pool, @arg);
 
 	last if $func eq 'close_edit';
 
@@ -265,7 +266,10 @@
 	}
 
 	if ($next) {
-	    $baton_pool->{$next} = SVN::Pool->new_default;
+	    # if we are keeping this parent baton, set the pool as the
+	    # default pool as well.
+	    $pool->default if $pool;
+	    $baton_pool->{$next} = $pool if $pool;
 	    $baton_map->{$next} = $ret
 	}
     }


More information about the svk-commit mailing list