diff --git a/webtools/bugzilla/process_bug.cgi b/webtools/bugzilla/process_bug.cgi index 36bfe71bee66..c1c7e63a49ab 100755 --- a/webtools/bugzilla/process_bug.cgi +++ b/webtools/bugzilla/process_bug.cgi @@ -678,6 +678,9 @@ The changes made were: if ($col eq 'assigned_to' || $col eq 'qa_contact') { $old = DBID_to_name($old) if $old != 0; $new = DBID_to_name($new) if $new != 0; + $origcclist .= ",$old"; # make sure to send mail to people + # if they are going to no longer get + # updates about this bug. } if ($col eq 'product') { RemoveVotes($id, @@ -694,7 +697,7 @@ The changes made were: print "

Changes to bug $id submitted

\n"; SendSQL("unlock tables"); - system("./processmail $id $::FORM{'who'}"); + system("./processmail", "-forcecc", $origcclist, $id, $::FORM{'who'}); print "
Back To BUG# $id
\n"; foreach my $k (keys(%dependencychanged)) { diff --git a/webtools/bugzilla/processmail b/webtools/bugzilla/processmail index eedfb033949d..8e0b7c29fde7 100755 --- a/webtools/bugzilla/processmail +++ b/webtools/bugzilla/processmail @@ -36,6 +36,8 @@ $::lockcount = 0; my $regenerate = 0; my $nametoexclude = ""; +my @forcecc; + sub Lock { if ($::lockcount <= 0) { $::lockcount = 0; @@ -305,6 +307,7 @@ sub ProcessOneBug { foreach my $v (split(/,/, "$::bug{'cclist'},$::bug{'voterlist'}")) { push @combinedcc, $v; } + push (@combinedcc, (@forcecc)); my $cclist = fixaddresses("cc", \@combinedcc); my $logstr = "Bug $i $verb"; if ($tolist ne "" || $cclist ne "") { @@ -360,11 +363,6 @@ if (open(FID, " 1)) { - print "Usage error: processmail {bugid} {nametoexclude}\nOr: processmail regenerate\n"; - exit; -} - # To recreate the shadow database, run "processmail regenerate" . if ($ARGV[0] eq "regenerate") { $regenerate = 1; @@ -383,6 +381,18 @@ if ($ARGV[0] eq "regenerate") { exit; } +if ($ARGV[0] eq "-forcecc") { + shift(@ARGV); + foreach my $i (split(/,/, shift(@ARGV))) { + push(@forcecc, trim($i)); + } +} + +if (($#ARGV < 0) || ($#ARGV > 1)) { + print "Usage error: processmail {bugid} {nametoexclude}\nOr: processmail regenerate\n"; + exit; +} + if ($#ARGV == 1) { $nametoexclude = lc($ARGV[1]); }