#!/bin/sh #shift FROM=$USER@mysql.com COMMITS=commits@lists.mysql.com DOCS=docs-commit@mysql.com LIMIT=10000 VERSION="5.1" if [ "$REAL_EMAIL" = "" ] then echo "Warning: you must set REAL_EMAIL in your profile" else FROM=$REAL_EMAIL fi BK_STATUS=$BK_STATUS$BK_COMMIT if [ "$BK_STATUS" = OK ] then HAS_ACTUAL_CHANGES=`bk cset -r+ -d | grep -v "^#"` if [ "$HAS_ACTUAL_CHANGES" = "" ] then echo ChangeSet had no real changes, not sending emails exit fi CHANGESET=`bk -R prs -r+ -h -d':P:::I:' ChangeSet` CSETKEY=`bk -R prs -r+ -h -d':KEY:' ChangeSet` BUG=`bk -R prs -r+ -h -d':C:' ChangeSet | sed -ne 's/^.*[Bb][Uu][Gg] *# *\([0-9][0-9]*\).*$/\1/p'` WL=`bk -R prs -r+ -h -d':C:' ChangeSet | sed -ne 's/^.*[Ww][Ll] *# *\([0-9][0-9]*\).*$/ WL#\1/p'` if [ "$BUG" = "" ] then TO=dev-public@mysql.com BS="" BH="" else TO=dev-bugs@mysql.com BS=" BUG#$BUG" # need newline here BH="X-Bug: $BUG " fi #++ # dev-public@ / dev-bugs@ #-- echo "Commit successful, notifying developers at $TO" ( cat <<EOF List-ID: <bk.mysql-$VERSION> From: $FROM To: $TO Subject: bk commit - $VERSION tree ($CHANGESET)${BS}${WL} X-CSetKey: <$CSETKEY> $BH EOF bk changes -v -r+ bk cset -r+ -d ) | /usr/sbin/sendmail -t #++ # commits@ mail #-- echo "Notifying commits list at $COMMITS" ( cat <<EOF List-ID: <bk.mysql-$VERSION> From: $FROM To: $COMMITS Subject: bk commit into $VERSION tree ($CHANGESET)$BS X-CSetKey: <$CSETKEY> $BH Below is the list of changes that have just been committed into a local $VERSION repository of $USER. When $USER does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html EOF bk changes -v -r+ bk cset -r+ -d ) | head -n $LIMIT | /usr/sbin/sendmail -t #++ # docs-commit@ mail # Picks up anything under the Docs subdirectory (relevant for docs team). #-- bk changes -v -r+ | grep -q " Docs/" if [ $? -eq 0 ] then echo "Notifying docs list at $DOCS" ( cat <<EOF List-ID: <bk.mysql-$VERSION> From: $FROM To: $DOCS Subject: bk commit - $VERSION tree (Manual) ($CHANGESET)$BS EOF bk changes -v -r+ bk cset -r+ -d ) | /usr/sbin/sendmail -t fi else echo "commit failed because '$BK_STATUS', you may need to re-clone..." fi