summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Weiss <holger@zedat.fu-berlin.de>2009-10-24 22:53:55 +0200
committerHolger Weiss <holger@zedat.fu-berlin.de>2009-10-24 22:53:55 +0200
commit15920fb433b4ee2838ec2ba8997a97b2bbcd6e74 (patch)
tree2d810430be0d7fe90c77a880cd128431ddf269c8
parenta5fa304ce3fefdbdeb9f447c08234dd33d8f454a (diff)
downloadmonitoring-plugins-15920fb433b4ee2838ec2ba8997a97b2bbcd6e74.tar.gz
git-notify: Truncate summary after 50 characters
If the first line of a commit message is longer than 50 characters, truncate it before adding the resulting string to the subject line of a notification. This makes sure the subject line won't get too long (unless the commit author name is unusually long, which we don't check). The Git User's Manual recommends keeping the first line of a commit message shorter than that, anyway: | Though not required, it's a good idea to begin the commit message with | a single short (less than 50 character) line summarizing the change, | followed by a blank line and then a more thorough description. Tools | that turn commits into email, for example, use the first line on the | Subject line and the rest of the commit in the body. [ http://www.kernel.org/pub/software/scm/git/docs/user-manual.html ]
-rwxr-xr-xtools/git-notify16
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/git-notify b/tools/git-notify
index 9ab012e3..39abd66e 100755
--- a/tools/git-notify
+++ b/tools/git-notify
@@ -127,6 +127,20 @@ sub git_rev_list(@)
127 return $revlist; 127 return $revlist;
128} 128}
129 129
130# truncate the given string if it exceeds the specified number of characters
131sub truncate_str($$)
132{
133 my ($str, $max) = @_;
134
135 if (length($str) > $max)
136 {
137 $str = substr($str, 0, $max);
138 $str =~ s/\s+\S+$//;
139 $str .= " ...";
140 }
141 return $str;
142}
143
130# right-justify the left column of "left: right" elements, omit undefined elements 144# right-justify the left column of "left: right" elements, omit undefined elements
131sub format_table(@) 145sub format_table(@)
132{ 146{
@@ -338,7 +352,7 @@ sub send_commit_notice($$)
338 } 352 }
339 353
340 mail_notification($commitlist_address, 354 mail_notification($commitlist_address,
341 $info{"author_name"} . ": " . ${$info{"log"}}[0], 355 $info{"author_name"} . ": " . truncate_str(${$info{"log"}}[0], 50),
342 "text/plain; charset=UTF-8", @notice); 356 "text/plain; charset=UTF-8", @notice);
343 $sent_notices++; 357 $sent_notices++;
344} 358}