mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
d3907c926c
into rolltop.ignatz42.dyndns.org:/mnt/storeage/bksendmailfix/my51-bksendmailfix BitKeeper/triggers/post-commit: SCCS merged
122 lines
2.6 KiB
Bash
Executable file
122 lines
2.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
#shift
|
|
FROM=$USER@mysql.com
|
|
COMMITS=commits@lists.mysql.com
|
|
DOCS=docs-commit@mysql.com
|
|
LIMIT=10000
|
|
VERSION="5.1"
|
|
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`
|
|
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
|
|
) > $BKROOT/BitKeeper/tmp/dev_public.txt
|
|
|
|
$SENDMAIL -t < $BKROOT/BitKeeper/tmp/dev_public.txt
|
|
|
|
#++
|
|
# 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
|
|
) | bk sed -e ${LIMIT}q > $BKROOT/BitKeeper/tmp/commits.txt
|
|
|
|
$SENDMAIL -t < $BKROOT/BitKeeper/tmp/commits.txt
|
|
|
|
#++
|
|
# 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
|
|
) > $BKROOT/BitKeeper/tmp/docs.txt
|
|
$SENDMAIL -t < $BKROOT/BitKeeper/tmp/docs.txt
|
|
fi
|
|
|
|
else
|
|
echo "commit failed because '$BK_STATUS', you may need to re-clone..."
|
|
fi
|