cook: drop graduated topics when non-incremental
Junio C Hamano committed
Jun 17, 2010 at 08:43 UTC
420c18f4cb00e9bdb3f418eefcac7ea9575cc0d8
1 file changed
+18
-2
cook
+18
-2
index 03581f441d..282252e09e 100755
--- a/cook
+++ b/cook
@@ -470,15 +470,31 @@ sub update_issue {
if (!$incremental) {
my $sd = $cooking->{'section_data'};
my $sl = $cooking->{'section_list'};
- for (my $i = 0; $i < @{$sl}; $i++) {
+ # Rename "New" to "Old New" and insert "New".
+ # Move "New" to "Old New"
+ my $i;
+ my $doneso;
+ for ($i = 0; $i < @{$sl}; $i++) {
if ($sl->[$i] eq $new_topics) {
$sl->[$i] = $old_new_topics;
unshift @{$sl}, $new_topics;
+ $doneso = 1;
last;
}
}
- $sd->{$old_new_topics} = $sd->{$new_topics};
+ if ($doneso) {
+ $sd->{$old_new_topics} = $sd->{$new_topics};
+ }
$sd->{$new_topics} = [];
+
+ # Drop "Graduated"
+ for ($i = 0; $i < @{$sl}; $i++) {
+ last if ($sl->[$i] eq $graduated)
+ }
+ if ($i < @{$sl}) {
+ splice(@{$sl}, $i, 1);
+ $sd->{$graduated} = [];
+ }
}
}