[svk-commit] r2715 - branches/merge_perf/lib/SVK

nobody at bestpractical.com nobody at bestpractical.com
Wed Mar 26 04:23:48 EDT 2008


Author: clkao
Date: Wed Mar 26 04:23:48 2008
New Revision: 2715

Modified:
   branches/merge_perf/lib/SVK/Merge.pm

Log:
defer find_merge_sources calls which are rather expensive.


Modified: branches/merge_perf/lib/SVK/Merge.pm
==============================================================================
--- branches/merge_perf/lib/SVK/Merge.pm	(original)
+++ branches/merge_perf/lib/SVK/Merge.pm	Wed Mar 26 04:23:48 2008
@@ -205,7 +205,6 @@
     my $yrev = $fs->youngest_rev;
     my ($srcinfo2, $dstinfo2) = map {$self->find_merge_sources2($_)} ($src, $dst);
     my $joint_info = $srcinfo2->intersect($dstinfo2)->resolve($src->depot);
-    my ($srcinfo, $dstinfo) = map {$self->find_merge_sources ($_)} ($src, $dst);
     my ($basepath, $baserev, $baseentry);
     my ($merge_base, $merge_baserev) = $self->{merge_base} ?
 	split(/:/, $self->{merge_base}) : ('', undef);
@@ -283,6 +282,8 @@
 
     # XXX: document this, cf t/07smerge-foreign.t
     if ($basepath ne $src->path && $basepath ne $dst->path) {
+        my ($srcinfo, $dstinfo) = map {$self->find_merge_sources ($_)} ($src, $dst);
+
 	my ($fromrev, $torev) = ($srcinfo->{$baseentry}, $dstinfo->{$baseentry});
 	($fromrev, $torev) = ($torev, $fromrev) if $torev < $fromrev;
 	if (my ($mrev, $merge) =


More information about the svk-commit mailing list