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
@@ -470,15 +470,31 @@ sub update_issue {
470 if (!$incremental) {
471 my $sd = $cooking->{'section_data'};
472 my $sl = $cooking->{'section_list'};
473 - for (my $i = 0; $i < @{$sl}; $i++) {
473 + # Rename "New" to "Old New" and insert "New".
474 + # Move "New" to "Old New"
475 + my $i;
476 + my $doneso;
477 + for ($i = 0; $i < @{$sl}; $i++) {
478 if ($sl->[$i] eq $new_topics) {
479 $sl->[$i] = $old_new_topics;
480 unshift @{$sl}, $new_topics;
481 + $doneso = 1;
482 last;
483 }
484 }
480 - $sd->{$old_new_topics} = $sd->{$new_topics};
485 + if ($doneso) {
486 + $sd->{$old_new_topics} = $sd->{$new_topics};
487 + }
488 $sd->{$new_topics} = [];
489 +
490 + # Drop "Graduated"
491 + for ($i = 0; $i < @{$sl}; $i++) {
492 + last if ($sl->[$i] eq $graduated)
493 + }
494 + if ($i < @{$sl}) {
495 + splice(@{$sl}, $i, 1);
496 + $sd->{$graduated} = [];
497 + }
498 }
499 }
500