]> git.ipfire.org Git - thirdparty/git.git/commitdiff
cook: drop graduated topics when non-incremental
authorJunio C Hamano <gitster@pobox.com>
Thu, 17 Jun 2010 15:43:27 +0000 (08:43 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 17 Jun 2010 15:43:27 +0000 (08:43 -0700)
cook

diff --git a/cook b/cook
index 03581f441d1dfc9779e35b84c579a481db3715f9..282252e09e2cd9396cc44daf67f42bde826b2ab9 100755 (executable)
--- 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} = [];
+               }
        }
 }