summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xparse-trac14
1 files changed, 9 insertions, 5 deletions
diff --git a/parse-trac b/parse-trac
index f25282c..f02ef04 100755
--- a/parse-trac
+++ b/parse-trac
@@ -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