diff options
-rwxr-xr-x | parse-trac | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -75,9 +75,13 @@ my $body = join '', @mail; $body = decode_base64($body) if ($is_base64); @mail = split(/\r?\n/, $body); -my $first_line = shift @mail; -chomp $first_line; -shift @mail; +my @summary; +while (defined($line = shift @mail)) { + last if $line =~ /^-----------------/ + chomp $line; + push @summary, $line; +}; +$summary = join ' ', @summary; my $reporter; while (defined($line = shift @mail)) { @@ -96,7 +100,7 @@ die ("$PROGRAM_NAME - $project: No reporter found.\n") unless defined $reporter; die ("$PROGRAM_NAME - $project: No tracproject found.\n") unless defined $tracproject; die ("$PROGRAM_NAME - $project: No url found.\n") unless defined $url; die ("$PROGRAM_NAME - $project: No ticketid found.\n") unless defined $ticketid; -die ("$PROGRAM_NAME - $project: No first_line found.\n") unless defined $first_line; +die ("$PROGRAM_NAME - $project: No summary found.\n") unless defined $summary; my $MAXBODYLINES = 5; if (scalar @body > $MAXBODYLINES+1) { # if it's one more let it through, [...] takes a line too @@ -110,7 +114,7 @@ my $notice = $is_a_reply ? "[$tracproject] #$ticketid was updated" : "[$tracproject] #$ticketid filed by $reporter"; -$notice .= ": $first_line - $url"; +$notice .= ": $summary - $url"; #open(MAIL, "|cat") or open(MAIL, "|$SENDMAIL -t -oi -f $ENVELOPE_FROM") or |