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