From 420c18f4cb00e9bdb3f418eefcac7ea9575cc0d8 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 17 Jun 2010 08:43:27 -0700 Subject: [PATCH] cook: drop graduated topics when non-incremental --- cook | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/cook b/cook 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} = []; + } } }