summaryrefslogtreecommitdiff
path: root/BitKeeper/triggers/post-incoming.innodb.pl
diff options
context:
space:
mode:
authorunknown <tsmith@ramayana.hindu.god>2008-01-23 16:18:23 -0700
committerunknown <tsmith@ramayana.hindu.god>2008-01-23 16:18:23 -0700
commit14b1de4293c856eff1f05e2ec1bc857b95861e6d (patch)
tree31cd1cf11dc4c6155e0994947cd4877547cf33a8 /BitKeeper/triggers/post-incoming.innodb.pl
parente3b246d6e8290f39daa367a2755a22ae3850c76a (diff)
downloadmariadb-git-14b1de4293c856eff1f05e2ec1bc857b95861e6d.tar.gz
Add triggers to notify InnoDB developers when MySQL developers change files
that they control. BitKeeper/triggers/post-commit.innodb.pl: Trigger to notify InnoDB developers about changes in InnoDB files. BitKeeper/triggers/post-incoming.innodb.pl: Trigger to notify InnoDB developers about changes in InnoDB files. BitKeeper/triggers/pre-commit.innodb.pl: Trigger to warn MySQL developers that they have changed InnoDB files, and that their changes will be sent to the InnoDB developers if they choose to commit. BitKeeper/triggers/triggers-lib.pl: Utility functions for BK triggers written in Perl.
Diffstat (limited to 'BitKeeper/triggers/post-incoming.innodb.pl')
-rwxr-xr-xBitKeeper/triggers/post-incoming.innodb.pl30
1 files changed, 30 insertions, 0 deletions
diff --git a/BitKeeper/triggers/post-incoming.innodb.pl b/BitKeeper/triggers/post-incoming.innodb.pl
new file mode 100755
index 00000000000..4b100d88037
--- /dev/null
+++ b/BitKeeper/triggers/post-incoming.innodb.pl
@@ -0,0 +1,30 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+
+use FindBin;
+require "$FindBin::Bin/triggers-lib.pl";
+
+# Don't run unless push/pull was successful
+check_status() or exit 0;
+
+# Don't run if push/pull is in local clones
+exit 0 if repository_type() eq 'local';
+
+# For each pushed ChangeSet, check it for InnoDB files and send
+# diff of entire ChangeSet to InnoDB developers if such changes
+# exist.
+
+my $error = 0;
+
+foreach my $cset (read_bk_csetlist())
+{
+ my $changes = innodb_get_changes('cset', $cset, 'yes')
+ or next;
+
+ innodb_send_changes_email($cset, $changes)
+ or $error = 1;
+}
+
+exit ($error == 0 ? 0 : 1);