From: Junio C Hamano Date: Mon, 21 Jul 2008 05:57:44 +0000 (-0700) Subject: Update What's Cooking -- do not lose graduated topics X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56210413e5cf6e4e7b561f2af4c722dbaf5ea481;p=thirdparty%2Fgit.git Update What's Cooking -- do not lose graduated topics --- diff --git a/UWC b/UWC index 846dc6b112..868b41ba28 100755 --- a/UWC +++ b/UWC @@ -127,6 +127,7 @@ sub print_whats_cooking { print "\n", "-" x 64, "\n"; print "[$group]\n"; for my $topic (@{$wc->{" $group"}}) { + next if ($topic->{"head"} eq ''); print "\n", $topic->{"head"}; print $topic->{"names"}; if ($topic->{"text"} ne '') { @@ -144,6 +145,7 @@ sub delete_topic { sub merge_whats_cooking { my ($old_wc, $new_wc) = @_; my $group; + my @gone = (); for $group (@{$old_wc->{"group list"}}) { for my $topic (@{$old_wc->{" $group"}}) { @@ -151,12 +153,10 @@ sub merge_whats_cooking { my $newtopic = delete $new_wc->{"topic hash"}{$name}; if (!defined $newtopic) { - $topic->{"text"} = ("<{"head"} . - $topic->{"names"} . - ">>\n\n" . - $topic->{"text"}); + push @gone, +{ @{[ %$topic ]} }; + $topic->{"text"} = ""; $topic->{"names"} = ""; + $topic->{"head"} = ""; next; } if (($newtopic->{"names"} ne $topic->{"names"}) || @@ -180,6 +180,14 @@ sub merge_whats_cooking { } if (%{$new_wc->{"topic hash"}}) { + if (@gone) { + $group = 'Graduated to "master"'; + if (!exists $old_wc->{" $group"}) { + unshift @{$old_wc->{"group list"}}, $group; + $old_wc->{" $group"} = []; + } + push @{$old_wc->{" $group"}}, @gone; + } $group = "New Topics"; if (!exists $old_wc->{" $group"}) { unshift @{$old_wc->{"group list"}}, $group;