[svk-commit] r2334 - branches/2.0-releng/lib/SVK/Mirror/Backend

nobody at bestpractical.com nobody at bestpractical.com
Wed Mar 14 20:20:48 EDT 2007


Author: clkao
Date: Wed Mar 14 20:20:48 2007
New Revision: 2334

Modified:
   branches/2.0-releng/lib/SVK/Mirror/Backend/SVNRaPipe.pm

Log:
Merge from trunk:
 r2296 at trunk:  clkao | 2007-02-02 17:18:17 +0000
 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: branches/2.0-releng/lib/SVK/Mirror/Backend/SVNRaPipe.pm
==============================================================================
--- branches/2.0-releng/lib/SVK/Mirror/Backend/SVNRaPipe.pm	(original)
+++ branches/2.0-releng/lib/SVK/Mirror/Backend/SVNRaPipe.pm	Wed Mar 14 20:20:48 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