From: cjwatson <> Date: Mon, 18 Jul 2005 01:11:23 +0000 (-0800) Subject: [project @ 2005-07-17 18:11:23 by cjwatson] X-Git-Tag: release/2.6.0~711 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=78018e337a69b8b7c642aaf45f2a164e0584ad81;p=debbugs.git [project @ 2005-07-17 18:11:23 by cjwatson] improve efficiency of merge handling --- diff --git a/migrate/debbugs-makeversions b/migrate/debbugs-makeversions index 977d3a3b..a072e31f 100755 --- a/migrate/debbugs-makeversions +++ b/migrate/debbugs-makeversions @@ -161,15 +161,19 @@ while (defined(my $dir = readdir DB)) { next; } - my ($found_versions, $fixed_versions) = getbuginfo("$db/$dir/$file"); - + my @merges = (); + # Only process the lowest of each set of merged bugs. if (length $status->{mergedwith}) { @merges = sort { $a <=> $b } split ' ', $status->{mergedwith}; if ($merges[0] < $bug) { - # already processed unlockreadbugmerge($locks); next; } + } + + my ($found_versions, $fixed_versions) = getbuginfo("$db/$dir/$file"); + + if (length $status->{mergedwith}) { for my $merge (@merges) { $merge =~ /(..)$/; my $mergehash = $1; @@ -182,7 +186,7 @@ while (defined(my $dir = readdir DB)) { @$fixed_versions = () unless length $status->{done}; - for my $out ($bug, (split ' ', $status->{mergedwith})) { + for my $out ($bug, @merges) { if ($out != $bug) { filelock("lock/$out"); }