#!/bin/sh #shift FROM=$USER@mysql.com COMMITS=commits@lists.mysql.com DOCS=docs-commit@mysql.com LIMIT=10000 VERSION="maria" BKROOT=`bk root` if [ -x /usr/sbin/sendmail ]; then SENDMAIL=/usr/sbin/sendmail else SENDMAIL=sendmail fi 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` # # composing subject lines of commit mails. # if a fix targets to a WL and there is a bug referred # then X-Bug mail header will contain the first found bug's number # BUG=`bk -R prs -r+ -h -d':C:' ChangeSet | \ sed -ne 's/[Bb][Uu][Gg] *# *\([0-9][0-9]*\).*$/BUG#\1/ s/.*BUG#\([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/ s/.*\(WL#[0-9][0-9]*\)/ \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 < 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 ) > $BKROOT/BitKeeper/tmp/dev_public.txt $SENDMAIL -t < $BKROOT/BitKeeper/tmp/dev_public.txt else echo "commit failed because '$BK_STATUS', you may need to re-clone..." fi