Below is the list of changes that have just been committed into a local
5.0 repository of tim. When tim 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@stripped, 2006-09-21 04:10:20-06:00, tsmith@stripped +1 -0
Add a new pre-commit trigger, which checks for changes to InnoDB-specific files which
generally should not be modified by MySQL developers.
It gives the developer a chance to cancel the commit, and suggests the correct e-mail
addresses to communicate any InnoDB-specific changes which may require coordination with
InnoDB developers.
Another trigger will be added later, a post-incoming trigger to e-mail InnoDB devs with
changes that go into the global tree.
BitKeeper/triggers/pre-commit.innodb.pl@stripped, 2006-09-21 04:05:56-06:00,
tsmith@stripped +86 -0
BitKeeper file /usr/home/tim/m/bk/inno/50/BitKeeper/triggers/pre-commit.innodb.pl
BitKeeper/triggers/pre-commit.innodb.pl@stripped, 2006-09-21 04:05:56-06:00,
tsmith@stripped +0 -0
# 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: tsmith
# Host: siva.hindu.god
# Root: /usr/home/tim/m/bk/inno/50
--- New file ---
+++ BitKeeper/triggers/pre-commit.innodb.pl 06/09/21 04:05:56
#! /usr/bin/perl
# XXX: How to share code between triggers? Please update the
# post-incoming.innodb trigger as well!
use strict;
use warnings;
use Data::Dumper;
# Regex which defines the InnoDB files which should generally
# not be touched by MySQL developers.
my $sfile_regex = qr(SCCS/s.);
my $pending_innodb_regex = qr{
^
(
innobase/
|
mysql-test/(t|r)/${sfile_regex}innodb
(?!_mysql) # The mysql-test/[tr]/innodb_mysql* are OK to edit
|
sql/${sfile_regex}ha_innodb
)
}x;
# Read the $BK_PENDING file directly; find changes to innobase
# files, and send those to 'bk log' to get Comments, etc. for them.
open PENDING, "< $ENV{BK_PENDING}"
or die "Can't read BK_PENDING file '$ENV{BK_PENDING}': $!";
my @innodb_changes = grep { /$pending_innodb_regex/ } <PENDING>;
close PENDING or warn "Error on close of $ENV{BK_PENDING}: $!";
exit 0 unless @innodb_changes or 1;
my $tmpname = 'BitKeeper/tmp/innotrigger.tmp';
open CHANGES, "> $tmpname" or die "Can't write changes to '$tmpname': $!";
print CHANGES @innodb_changes;
close CHANGES;
my $log;
{
local $/ = undef;
open LOG, "bk log - < $tmpname |" or die "Can't exec 'bk log - < $tmpname': $!";
$log = <LOG>;
close LOG;
}
open MESSAGE, "> $tmpname" or die "Can't write message to '$tmpname': $!";
print MESSAGE <<EOF;
This ChangeSet touches some files which should normally be modified
by InnoDB developers only. In general, MySQL developers should not
touch:
innobase/*
mysql-test/t/innodb* (except mysql-test/t/innodb_mysql*)
mysql-test/r/innodb* (except mysql-test/r/innodb_mysql*)
sql/ha_innodb*
The following InnoDB files were modified:
=========================================================
$log
=========================================================
If you require changes to these files, first discuss it with the InnoDB
developers at dev\@innodb.com, CC dev-innodb\@mysql.com.
If you understand the affects of this, you may Commit these changes.
Otherwise, please do not commit now, and coordinate your changes with
the InnoDB developers.
EOF
close MESSAGE or warn "Error on close of message file '$tmpname': $!";
my $status = system('bk', 'prompt', '-w',
'-yCommit these changes', '-nDo not Commit', "-f$tmpname");
if ($status == 0) {
exit 0;
}
exit 1;
| Thread |
|---|
| • bk commit into 5.0 tree (tsmith:1.2281) | tim | 21 Sep |