Below is the list of changes that have just been committed into a local
4.1 repository of alexi. When alexi 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
ChangeSet
1.2471 06/02/03 15:59:38 aivanov@stripped +2 -0
MySQL-InnoDB-Oracle (MIO) protocol.
Whenever a patch changes InnoDB related file, it is necessary
to inform the Oracle/InnoDB developers and send them the patch,
so that they may:
1) approve the patch before it is pushed, and
2) update the InnoDB subversion repository that Oracle uses
to do ongoing development of InnoDB.
BitKeeper/triggers/post-outgoing
1.1 06/02/03 15:59:10 aivanov@stripped +48 -0
MySQL-InnoDB-Oracle (MIO) protocol.
Check whether the pushed patch changes InnoDB related files.
If it does, send push notification to the person responsible
for maintaining liaison with Oracle/InnoDB. The notification
is needed for:
1) to check that the patch was approved by Oracle/InnoDB;
2) to send the patch to Oracle/InnoDB for application.
BitKeeper/triggers/post-outgoing
1.0 06/02/03 15:59:10 aivanov@stripped +0 -0
BitKeeper file /home/alexi/bktriggers/mysql-4.1-mio/BitKeeper/triggers/post-outgoing
BitKeeper/triggers/post-commit
1.35 06/02/03 15:59:10 aivanov@stripped +47 -17
MySQL-InnoDB-Oracle (MIO) protocol.
Additionally check whether the commited patch changes InnoDB
related files. If it does, send additional notification to
the developer. (When the patch will be approved by MySQL
reviewer, the developer should reply this notification to
the person responsible for maintaining liaison with
Oracle/InnoDB. This is needed to send the patch to
Oracle/Innodb for approvement).
Sending docs-commit notification is removed because it is
not used currently.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: aivanov
# Host: mysqld.creware.com
# Root: /home/alexi/bktriggers/mysql-4.1-mio
--- New file ---
+++ BitKeeper/triggers/post-outgoing 06/02/03 15:59:10
#!/bin/sh
#shift
FROM=$USER@stripped
VERSION="4.1"
if [ "$REAL_EMAIL" = "" ]
then
echo "Warning: you must set REAL_EMAIL in your profile"
else
FROM=$REAL_EMAIL
fi
####################################
# MySQL-InnoDB-Oracle (MIO) Protocol
####################################
MIO_LIAISON_TO="ivanov@stripped"
if [ "$BK_STATUS" = "OK" -a "$BK_SIDE" = "client" -a "$BK_CSETLIST" != "" ]
then
CSET_KEYS=`sed -e "s/^/ /g" $BK_CSETLIST`
CHANGESETS=`sed -e "s/^/bk changes -v -r@'/g" -e "s/$/';/g" $BK_CSETLIST`
PATCHES=`sed -e "s/^/bk export -tpatch -r@'/g" -e "s/$/';/g" $BK_CSETLIST`
MIO_FILES_CHANGED=`eval $CHANGESETS | grep -finnodb-files`
if [ "$MIO_FILES_CHANGED" != "" ]
then
echo "Pushed InnoDB files:"
echo "$MIO_FILES_CHANGED"
echo "Notifying MIO-liaison at $MIO_LIAISON_TO"
(
cat <<EOF
From: $FROM
To: $MIO_LIAISON_TO
Subject: [MIO] $VERSION Push
EOF
echo "--------------------------------------------------"
echo "ChangeSet Keys:"
echo "$CSET_KEYS"
echo "Pushed InnoDB files:"
echo "$MIO_FILES_CHANGED"
bk parent
echo "--------------------------------------------------"
eval $PATCHES
) | /usr/sbin/sendmail -t
fi
fi
--- 1.34/BitKeeper/triggers/post-commit 2005-12-07 08:46:39 +03:00
+++ 1.35/BitKeeper/triggers/post-commit 2006-02-03 15:59:10 +03:00
@@ -84,26 +84,56 @@
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"
+####################################
+# MySQL-InnoDB-Oracle (MIO) Protocol
+####################################
+MIO_LIAISON_FROM="ivanov@stripped"
+MIO_FILES_CHANGED=`bk changes -v -r+ | grep -finnodb-files`
+
+if [ "MIO_FILES_CHANGED" != "" ]
+then
+ echo "Changed InnoDB files:"
+ echo "$MIO_FILES_CHANGED"
+ echo "Notifying developer at $FROM"
(
cat <<EOF
-List-ID: <bk.mysql-$VERSION>
-From: $FROM
-To: $DOCS
-Subject: bk commit - $VERSION tree (Manual) ($CHANGESET)$BS
-
+From: $MIO_LIAISON_FROM
+To: $FROM
+Subject: [MIO] $VERSION Commit [$CSETKEY]
EOF
- bk changes -v -r+
- bk cset -r+ -d
- ) | head -n $LIMIT | /usr/sbin/sendmail -t
- fi
+ echo "--------------------------------------------------"
+ echo "MySQL-$VERSION ${BS}${WL}"
+ echo "Changed InnoDB files:"
+ echo "$MIO_FILES_CHANGED"
+ echo "--------------------------------------------------"
+ echo "Dear Developer!"
+ echo "Your patch touches InnoDB files and must be approved on the Oracle/InnoDB side."
+ echo "Please, follow the procedure outlined below:"
+ echo ""
+ echo "(1) IF your patch is not to be approved by MySQL-reviewer"
+ echo " THEN"
+ echo " Proceed with (2);"
+ echo " ELSE"
+ echo " Wait for MySQL-reviewer response;"
+ echo " IF your patch is approved and not to be modified"
+ echo " THEN"
+ echo " Proceed with (2);"
+ echo " ELSE"
+ echo " Remove this message from your mailbox and proceed as usual:"
+ echo " roll-back the commit, modify the patch, commit again;"
+ echo " FI"
+ echo " FI"
+ echo " "
+ echo "(2) Reply to this message saying: The patch is approved."
+ echo " This is needed to send your patch to Oracle/InnoDB for review."
+ echo " "
+ echo "(3) Wait for response on this reply (DO NOT PUSH BEFORE THAT)."
+ echo " The response will tell you what to do further."
+ echo "--------------------------------------------------"
+ bk export -tpatch -r+
+ ) | /usr/sbin/sendmail -t
+fi
+####################################
else
echo "commit failed because '$BK_STATUS', you may need to re-clone..."
| Thread |
|---|
| • bk commit into 4.1 tree (aivanov:1.2471) | Alex Ivanov Notebook | 3 Feb |