summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2014-02-04 15:08:33 (GMT)
committerHolger Weiss <holger@zedat.fu-berlin.de>2014-02-04 15:08:33 (GMT)
commitc634471607cd83605fc334195514f136d90812d9 (patch)
treebd0fc14afa70b423dfbb1c39e21bb93b7b7804e8
parentf487fd80dbc8b15c9a7072abd0c167ac58675bcc (diff)
downloadsite-c634471607cd83605fc334195514f136d90812d9.tar.gz
git-notify: Use committer's name in "From:" header
Use the committer's real name in the "From:" header of commit notifications. This is a provisional solution. We'd really like to teach Mailman to also accept the committer's email address.
-rwxr-xr-xlibexec/git-notify20
1 files changed, 11 insertions, 9 deletions
diff --git a/libexec/git-notify b/libexec/git-notify
index 8c6400a..64da7c0 100755
--- a/libexec/git-notify
+++ b/libexec/git-notify
@@ -44,7 +44,8 @@ sub get_repos_name();
44# 44#
45# FIXME: Turn this into a proper git-notify option. 45# FIXME: Turn this into a proper git-notify option.
46# 46#
47my $from = "Git Repository <git\@monitoring-plugins.org>"; 47my $from_address = "git\@monitoring-plugins.org";
48my $from = "Git Repository <$from_address>";
48 49
49# some parameters you may want to change 50# some parameters you may want to change
50 51
@@ -323,14 +324,14 @@ sub parse_options()
323} 324}
324 325
325# send an email notification 326# send an email notification
326sub mail_notification($$$@) 327sub mail_notification($$$$@)
327{ 328{
328 my ($name, $subject, $content_type, @text) = @_; 329 my ($from, $to, $subject, $content_type, @text) = @_;
329 330
330 $subject = "[$repos_name] $subject" if ($emit_repo and $name ne $cia_address); 331 $subject = "[$repos_name] $subject" if ($emit_repo and $to ne $cia_address);
331 $subject = encode("MIME-Q",$subject); 332 $subject = encode("MIME-Q",$subject);
332 333
333 my @header = ("From: $from", "To: $name", "Subject: $subject", "Content-Type: $content_type"); 334 my @header = ("From: $from", "To: $to", "Subject: $subject", "Content-Type: $content_type");
334 335
335 if ($debug) 336 if ($debug)
336 { 337 {
@@ -438,7 +439,7 @@ sub send_ref_notice($$@)
438 "", 439 "",
439 "The $refname $reftype has been $action."); 440 "The $refname $reftype has been $action.");
440 441
441 mail_notification($commitlist_address, "$refname $reftype $action", 442 mail_notification($from, $commitlist_address, "$refname $reftype $action",
442 "text/plain; charset=us-ascii", @notice); 443 "text/plain; charset=us-ascii", @notice);
443} 444}
444 445
@@ -515,7 +516,8 @@ sub send_commit_notice($$)
515 516
516 $subject .= truncate_str(${$info{"log"}}[0],50); 517 $subject .= truncate_str(${$info{"log"}}[0],50);
517 $_ = decode($info{"encoding"}, $_) for @notice; 518 $_ = decode($info{"encoding"}, $_) for @notice;
518 mail_notification($commitlist_address, $subject, "text/plain; charset=UTF-8", @notice); 519 mail_notification("$info{'committer_name'} <$from_address>", $commitlist_address, $subject,
520 "text/plain; charset=UTF-8", @notice);
519} 521}
520 522
521# send a commit notice to the CIA server 523# send a commit notice to the CIA server
@@ -571,7 +573,7 @@ sub send_cia_notice($$)
571 " <timestamp>" . $info{"author_date"} . "</timestamp>", 573 " <timestamp>" . $info{"author_date"} . "</timestamp>",
572 "</message>"; 574 "</message>";
573 575
574 mail_notification($cia_address, "DeliverXML", "text/xml", @cia_text); 576 mail_notification($from, $cia_address, "DeliverXML", "text/xml", @cia_text);
575} 577}
576 578
577# send a global commit notice when there are too many commits for individual mails 579# send a global commit notice when there are too many commits for individual mails
@@ -585,7 +587,7 @@ sub send_global_notice($$$)
585 $rev =~ s/^commit /URL: ${gitweb_url}\/commit\/?id=/ if $gitweb_url; 587 $rev =~ s/^commit /URL: ${gitweb_url}\/commit\/?id=/ if $gitweb_url;
586 } 588 }
587 589
588 mail_notification($commitlist_address, "New commits on branch $ref", "text/plain; charset=UTF-8", @$notice); 590 mail_notification($from, $commitlist_address, "New commits on branch $ref", "text/plain; charset=UTF-8", @$notice);
589} 591}
590 592
591# send all the notices 593# send all the notices