Auto-merge from mysql-trunk.
This commit is contained in:
commit
376cf4275f
37
.cvsignore
37
.cvsignore
@ -1,37 +0,0 @@
|
|||||||
.snprj
|
|
||||||
COPYING
|
|
||||||
COPYING.LIB
|
|
||||||
INSTALL-SOURCE
|
|
||||||
INSTALL-SOURCE-GENERIC
|
|
||||||
Logs
|
|
||||||
MIRRORS
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
NEW-RPMS
|
|
||||||
PUBLIC
|
|
||||||
Projects
|
|
||||||
TODO
|
|
||||||
WIN-LICENSE
|
|
||||||
aclocal.m4
|
|
||||||
binary
|
|
||||||
compile
|
|
||||||
confdefs.h
|
|
||||||
config.cache
|
|
||||||
config.h
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
configure
|
|
||||||
configure.in-removed
|
|
||||||
conftest.c
|
|
||||||
conftest.s1
|
|
||||||
conftest.s2
|
|
||||||
conftest.subs
|
|
||||||
internal-docs
|
|
||||||
libtool
|
|
||||||
linked_client_sources
|
|
||||||
linked_server_sources
|
|
||||||
mysql-copyright-120700-194832
|
|
||||||
mysql-copyright-120700-221248
|
|
||||||
skr
|
|
||||||
stamp-h
|
|
||||||
tmp
|
|
@ -1,62 +0,0 @@
|
|||||||
44d03f27qNdqJmARzBoP3Is_cN5e0w
|
|
||||||
44ec850ac2k4y2Omgr92GiWPBAVKGQ
|
|
||||||
44edb86b1iE5knJ97MbliK_3lCiAXA
|
|
||||||
44f33f3aj5KW5qweQeekY1LU0E9ZCg
|
|
||||||
45001f7c3b2hhCXDKfUvzkX9TNe6VA
|
|
||||||
45002051rHJfMEXAIMiAZV0clxvKSA
|
|
||||||
4513d8e4Af4dQWuk13sArwofRgFDQw
|
|
||||||
45143312u0Tz4r0wPXCbUKwdHa2jWA
|
|
||||||
45143b90ewOQuTW8-jrB3ZSAQvMRJw
|
|
||||||
45184588w9U72A6KX1hUFeAC4shSHA
|
|
||||||
45185df8mZbxfp85FbA0VxUXkmDewA
|
|
||||||
4519a6c5BVUxEHTf5iJnjZkixMBs8g
|
|
||||||
451ab499rgdjXyOnUDqHu-wBDoS-OQ
|
|
||||||
451b110a3ZV6MITl93ehXk2wxrbW7g
|
|
||||||
45214442pBGT9KuZEGixBH71jTzbOA
|
|
||||||
45214a07hVsIGwvwa-WrO-jpeaSwVw
|
|
||||||
452a92d0-31-8wSzSfZi165fcGcXPA
|
|
||||||
452c6c6dAjuNghfc1ObZ_UQ5SCl85g
|
|
||||||
4538a7b0EbDHHkWPbIwxO6ZIDdg6Dg
|
|
||||||
454a7ef8gdvE_ddMlJyghvOAkKPNOQ
|
|
||||||
454bb488ijVLOUK_GFjcoISE0GxPUA
|
|
||||||
454bb9a8AwlGRC_wWLS2sNMoRBMRGw
|
|
||||||
454c946ciQoR4dfTBZ0RTBmGJKp6lw
|
|
||||||
454f6e7eAnfLD9OCbGr5X9KiKvfKcQ
|
|
||||||
454f704bJiJy0_Nx2drY9P5kK3uOzg
|
|
||||||
454f8960jsVT_kMKJtZ9OCgXoba0xQ
|
|
||||||
454fa71cxshxszXJQYa9jbo0-_hAHw
|
|
||||||
4550b0ceIcozdgQhWFUTAtWkN196lA
|
|
||||||
4554a95d7txO1DuO9G3nAizI3SkFAA
|
|
||||||
4554b3722d71SbPiI2Gx-RhbZjmuIQ
|
|
||||||
4558b3d73Cxjlb7Wv1oytdSTthxDfw
|
|
||||||
4561b2ecZbhuAc0TTDdCdultxUYaMw
|
|
||||||
4561bde4qWhz1I8tkItXKex5uniipA
|
|
||||||
4562ba016dYH0JzszOqZ8p6psbKfnQ
|
|
||||||
45771031yRCoM_ZfONdYchPvVEgLRg
|
|
||||||
459a60d8rIxeTuhB3j_QsOwLGdcpng
|
|
||||||
459a61c9OS8PzIsdviZJDkybJ1y1uA
|
|
||||||
459a70691aYIfU2ohV0a3P5iTLpO2A
|
|
||||||
459a7422KF_P7PuU3YQ5qG6ZLEVpiA
|
|
||||||
459a74e4nRcXppMSBYeQQ5efDkTADg
|
|
||||||
459c03b9N_mqF2XJKK6DwSrIt7e6_g
|
|
||||||
459c1965_BQMBzBO8S_gVqjTHYQrmw
|
|
||||||
459c2098XoAUsUn8N07IVRDD6CTM-A
|
|
||||||
459ea845XenN-uWqEM5LFvUT60tW_A
|
|
||||||
45ae6628gqKTsUFfnoNExadETVIkbA
|
|
||||||
45af88c9RIIJWPfBxs3o7zekI-ELPQ
|
|
||||||
45ba4faf2oqu6eR8fqecR3LfSNcYUg
|
|
||||||
45ba5238-NKl80QVXzdGo8hO9M75Xg
|
|
||||||
45c0fdfb2mz6NdOIsLenJtf6_ZelTA
|
|
||||||
45c38d90tNwOTSaYKHXd3ccLtnytlQ
|
|
||||||
45c390d6BbWrwyEi5T5VsWKYxl06Rg
|
|
||||||
45c39d31g0iik6UE_oTK5N55ry-ycA
|
|
||||||
45d1ffcd-r3v8A7uh92hQaMfQM9UPQ
|
|
||||||
45d21437Vg_-i4uOWyvzYWHESXDP6A
|
|
||||||
45da6370nnZlAAIieMCrXkxF9toOyQ
|
|
||||||
45da6551zUuplwxuqcT2fhRgceC0CQ
|
|
||||||
45db0d4bkGtxBk21sZFJgbCV1FcNRg
|
|
||||||
45db468b-DKE8kUTV42eYMYmk8_g9g
|
|
||||||
45dd21d1rVPnDfvZTNVHLalcjnbsZw
|
|
||||||
45ddaf15_Ld7IAEpUUP3FJjJ-oSEFg
|
|
||||||
45ddc763DodLG1BqH_wRBJXMbCSB5A
|
|
||||||
45ddc8282KnaNGuijqCTphlXV_eeog
|
|
@ -1,80 +0,0 @@
|
|||||||
# This is the BitKeeper configuration for this package.
|
|
||||||
#
|
|
||||||
# Please take a minute to fill it out carefully, it needs to be accurate.
|
|
||||||
#
|
|
||||||
# NOTICE: you really do want to fill this out, if something goes wrong
|
|
||||||
# with your repository, or if someone changes the logging policy, we
|
|
||||||
# send mail to the contact listed here for confirmation.
|
|
||||||
#
|
|
||||||
# BitKeeper can maintain a log of your change comments (not your source,
|
|
||||||
# just the comments) on a centralized server. This is useful as your
|
|
||||||
# project grows, it gives people a place to go see what is happening on
|
|
||||||
# a per project basis. This is especially useful for distributed developers.
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Name of the project, such as "BitKeeper" or "The GNU C compiler".
|
|
||||||
#
|
|
||||||
description: MySQL - fast and reliable SQL database
|
|
||||||
#
|
|
||||||
# Open Logging server. This site is where users go to see the
|
|
||||||
# changelog comments for all instances of this repository. This must
|
|
||||||
# be logging@openlogging.org for usage under the terms of the BKL,
|
|
||||||
# "bk help bkl" will show you the default licensing terms. If this
|
|
||||||
# repository is commercial it can be an internal email address or "none"
|
|
||||||
# to disable logging.
|
|
||||||
#
|
|
||||||
logging: none
|
|
||||||
#
|
|
||||||
# If this field is set, all checkins will appear to be made by this user,
|
|
||||||
# in effect making this a single user package. Single user packages are
|
|
||||||
# free from the logging constraint. In order for the package to really
|
|
||||||
# be free, both the single_user and the single_host field need to be set.
|
|
||||||
#
|
|
||||||
single_user:
|
|
||||||
#
|
|
||||||
# If this field is set, all checkins will appear to be made on this host.
|
|
||||||
#
|
|
||||||
single_host:
|
|
||||||
#
|
|
||||||
# Contact person for this project. This is whoever is the person that
|
|
||||||
# should be contacted with update information or contacted if BitKeeper
|
|
||||||
# discovers a problem which requires local intervention. Please make the
|
|
||||||
# contact information accurate so we can support you.
|
|
||||||
#
|
|
||||||
contact: sys@mysql.com
|
|
||||||
#
|
|
||||||
# It is very important that this email address is filled out and accurate.
|
|
||||||
# If someone converts your repository to open logging (which you may not
|
|
||||||
# want), we will contact this email address for confirmation that you really
|
|
||||||
# did want open logging. If the email address is inaccurate and we get no
|
|
||||||
# response from anyone else at your location after 90 days, then open logging
|
|
||||||
# will be implicitly approved.
|
|
||||||
#
|
|
||||||
email: sys@mysql.com
|
|
||||||
#
|
|
||||||
# Add your street address if you like, it is optional.
|
|
||||||
#
|
|
||||||
street:
|
|
||||||
city:
|
|
||||||
state:
|
|
||||||
postal:
|
|
||||||
country:
|
|
||||||
phone:
|
|
||||||
cell:
|
|
||||||
pager:
|
|
||||||
#
|
|
||||||
# Business Hours when we can contact you if you left a phone number.
|
|
||||||
#
|
|
||||||
hours:
|
|
||||||
[serg:]checkout:get
|
|
||||||
[arjen:]checkout:get
|
|
||||||
[kostja:]checkout:get
|
|
||||||
[nick:]checkout:get
|
|
||||||
[jonas:]checkout:get
|
|
||||||
[tomas:]checkout:get
|
|
||||||
[guilhem:]checkout:get
|
|
||||||
[pekka:]checkout:get
|
|
||||||
[msvensson:]checkout:get
|
|
||||||
checkout:edit
|
|
||||||
eoln:unix
|
|
2344
BitKeeper/etc/gone
2344
BitKeeper/etc/gone
File diff suppressed because it is too large
Load Diff
@ -1,314 +0,0 @@
|
|||||||
Administrador@light.
|
|
||||||
Administrator@co3064164-a.
|
|
||||||
Administrator@co3064164-a.rochd1.qld.optushome.com.au
|
|
||||||
Administrator@fred.
|
|
||||||
Administrator@w2k.
|
|
||||||
Greg@greg-laptop.
|
|
||||||
Miguel@light.local
|
|
||||||
Sinisa@sinisa.nasamreza.org
|
|
||||||
WAX@sergbook.mysql.com
|
|
||||||
acurtis@ltantony.rdg.cyberkinetica.homeunix.net
|
|
||||||
acurtis@pcgem.rdg.cyberkinetica.com
|
|
||||||
acurtis@xiphis.org
|
|
||||||
administrador@light.hegel.local
|
|
||||||
ahlentz@co3064164-a.rochd1.qld.optusnet.com.au
|
|
||||||
akishkin@work.mysql.com
|
|
||||||
anjuta@arthur.local
|
|
||||||
antony@ltantony.dsl-verizon.net
|
|
||||||
antony@ltantony.mysql.com
|
|
||||||
antony@ltantony.rdg.cyberkinetica.com
|
|
||||||
antony@ltantony.rdg.cyberkinetica.homeunix.net
|
|
||||||
antony@ltantony.xiphis.org
|
|
||||||
arjen@bitbike.com
|
|
||||||
arjen@co3064164-a.bitbike.com
|
|
||||||
arjen@fred.bitbike.com
|
|
||||||
arjen@george.bitbike.com
|
|
||||||
autotest@mc01.ndb.mysql.com
|
|
||||||
bar@bar.intranet.mysql.r18.ru
|
|
||||||
bar@bar.mysql.r18.ru
|
|
||||||
bar@bar.udmsearch.izhnet.ru
|
|
||||||
bar@deer.(none)
|
|
||||||
bar@eagle.intranet.mysql.r18.ru
|
|
||||||
bar@gw.udmsearch.izhnet.ru
|
|
||||||
bar@mysql.com
|
|
||||||
bar@noter.intranet.mysql.r18.ru
|
|
||||||
bell@51.0.168.192.in-addr.arpa
|
|
||||||
bell@52.0.168.192.in-addr.arpa
|
|
||||||
bell@book.sanja.is.com.ua
|
|
||||||
bell@laptop.sanja.is.com.ua
|
|
||||||
bell@sanja.is.com.ua
|
|
||||||
bk@admin.bk
|
|
||||||
bk@mysql.r18.ru
|
|
||||||
brian@avenger.(none)
|
|
||||||
brian@brian-akers-computer.local
|
|
||||||
brian@private-client-ip-101.oz.net
|
|
||||||
brian@zim.(none)
|
|
||||||
carsten@tsort.bitbybit.dk
|
|
||||||
cps@silver_beast.(none)
|
|
||||||
davida@isil.mysql.com
|
|
||||||
dean@mysql.com
|
|
||||||
dellis@goetia.(none)
|
|
||||||
dlenev@brandersnatch.localdomain
|
|
||||||
dlenev@build.mysql.com
|
|
||||||
dlenev@jabberwock.localdomain
|
|
||||||
dlenev@mysql.com
|
|
||||||
ejonore@mc03.ndb.mysql.com
|
|
||||||
elliot@mysql.com
|
|
||||||
evgen@moonbone.(none)
|
|
||||||
evgen@moonbone.local
|
|
||||||
gbichot@bk-internal.mysql.com
|
|
||||||
gbichot@production.mysql.com
|
|
||||||
gbichot@quadita2.mysql.com
|
|
||||||
gbichot@quadxeon.mysql.com
|
|
||||||
geert@kriem.kemuri.org
|
|
||||||
georg@beethoven.local
|
|
||||||
georg@beethoven.site
|
|
||||||
georg@lmy002.wdf.sap.corp
|
|
||||||
gerberb@ou800.zenez.com
|
|
||||||
gluh@eagle.intranet.mysql.r18.ru
|
|
||||||
gluh@gluh.(none)
|
|
||||||
gluh@gluh.mysql.r18.ru
|
|
||||||
gluh@mysql.com
|
|
||||||
gordon@zero.local.lan
|
|
||||||
greg@gcw.ath.cx
|
|
||||||
greg@mysql.com
|
|
||||||
guilhem@mysql.com
|
|
||||||
gweir@build.mysql.com
|
|
||||||
gweir@work.mysql.com
|
|
||||||
harrison@mysql.com
|
|
||||||
harry@corona.lordblink.com
|
|
||||||
hartmut@mysql.com
|
|
||||||
heikki@donna.mysql.fi
|
|
||||||
heikki@hundin.mysql.fi
|
|
||||||
heikki@rescue.
|
|
||||||
heikki@work.mysql.com
|
|
||||||
hf@bison.(none)
|
|
||||||
hf@bisonxp.(none)
|
|
||||||
hf@deer.(none)
|
|
||||||
hf@deer.mysql.r18.ru
|
|
||||||
hf@genie.(none)
|
|
||||||
holyfoot@mysql.com
|
|
||||||
igor@hundin.mysql.fi
|
|
||||||
igor@igor-inspiron.creware.com
|
|
||||||
igor@linux.local
|
|
||||||
igor@rurik.mysql.com
|
|
||||||
ingo@mysql.com
|
|
||||||
jan@hundin.mysql.fi
|
|
||||||
jani@a193-229-222-105.elisa-laajakaista.fi
|
|
||||||
jani@a193-229-222-2.elisa-laajakaista.fi
|
|
||||||
jani@a80-186-24-72.elisa-laajakaista.fi
|
|
||||||
jani@a80-186-41-201.elisa-laajakaista.fi
|
|
||||||
jani@a80-186-8-224.elisa-laajakaista.fi
|
|
||||||
jani@dsl-jkl1657.dial.inet.fi
|
|
||||||
jani@dsl-kpogw4gb5.dial.inet.fi
|
|
||||||
jani@hynda.(none)
|
|
||||||
jani@hynda.mysql.fi
|
|
||||||
jani@ibmlab.site
|
|
||||||
jani@janikt.pp.saunalahti.fi
|
|
||||||
jani@linux.local
|
|
||||||
jani@rhols221.adsl.netsonic.fi
|
|
||||||
jani@rhols221.arenanet.fi
|
|
||||||
jani@ua126d19.elisa.omakaista.fi
|
|
||||||
jani@ua141d10.elisa.omakaista.fi
|
|
||||||
jani@ua167d18.elisa.omakaista.fi
|
|
||||||
jani@ua72d24.elisa.omakaista.fi
|
|
||||||
jcole@abel.spaceapes.com
|
|
||||||
jcole@main.burghcom.com
|
|
||||||
jcole@mugatu.jcole.us
|
|
||||||
jcole@mugatu.spaceapes.com
|
|
||||||
jcole@sarvik.tfr.cafe.ee
|
|
||||||
jcole@tetra.spaceapes.com
|
|
||||||
jimw@mysql.com
|
|
||||||
joerg@mysql.com
|
|
||||||
joerg@trift-lap.fambruehe
|
|
||||||
jon@gigan.
|
|
||||||
jonas@mysql.com
|
|
||||||
joreland@bk-internal.mysql.com
|
|
||||||
joreland@mysql.com
|
|
||||||
jorge@linux.jorge.mysql.com
|
|
||||||
jplindst@t41.(none)
|
|
||||||
kaa@polly.local
|
|
||||||
kaj@work.mysql.com
|
|
||||||
kent@mysql.com
|
|
||||||
konstantin@mysql.com
|
|
||||||
kosipov@production.mysql.com
|
|
||||||
kostja@oak.local
|
|
||||||
lars@mysql.com
|
|
||||||
lenz@kallisto.mysql.com
|
|
||||||
lenz@mysql.com
|
|
||||||
magnus@msdesk.mysql.com
|
|
||||||
magnus@neptunus.(none)
|
|
||||||
magnus@shellback.(none)
|
|
||||||
marko@hundin.mysql.fi
|
|
||||||
marty@flipper.bredbandsbolaget.se
|
|
||||||
marty@linux.site
|
|
||||||
marty@shark.
|
|
||||||
mats@mysql.com
|
|
||||||
matt@booty.(none)
|
|
||||||
matt@mysql.com
|
|
||||||
matthias@three.local.lan
|
|
||||||
miguel@hegel.(none)
|
|
||||||
miguel@hegel.br
|
|
||||||
miguel@hegel.local
|
|
||||||
miguel@hegel.txg
|
|
||||||
miguel@hegel.txg.br
|
|
||||||
miguel@light.
|
|
||||||
miguel@light.local
|
|
||||||
miguel@sartre.local
|
|
||||||
mikael@mc04.(none)
|
|
||||||
mikael@orca.ndb.mysql.com
|
|
||||||
mikron@c-fb0ae253.1238-1-64736c10.cust.bredbandsbolaget.se
|
|
||||||
mikron@mikael-ronstr-ms-dator.local
|
|
||||||
mleich@mysql.com
|
|
||||||
mmatthew@markslaptop.
|
|
||||||
monty@bitch.mysql.fi
|
|
||||||
monty@butch.
|
|
||||||
monty@donna.mysql.fi
|
|
||||||
monty@hundin.mysql.fi
|
|
||||||
monty@mashka.(none)
|
|
||||||
monty@mashka.mysql.fi
|
|
||||||
monty@mishka.local
|
|
||||||
monty@mishka.mysql.fi
|
|
||||||
monty@mysql.com
|
|
||||||
monty@narttu.
|
|
||||||
monty@narttu.mysql.fi
|
|
||||||
monty@rescue.
|
|
||||||
monty@tik.
|
|
||||||
monty@tik.mysql.fi
|
|
||||||
monty@tramp.mysql.fi
|
|
||||||
monty@work.mysql.com
|
|
||||||
mronstrom@build.mysql.com
|
|
||||||
mronstrom@mysql.com
|
|
||||||
mskold@bk-internal.mysql.com
|
|
||||||
mskold@mysql.com
|
|
||||||
msvensson@build.mysql.com
|
|
||||||
msvensson@neptunus.(none)
|
|
||||||
msvensson@neptunus.homeip.net
|
|
||||||
mwagner@cash.mwagner.org
|
|
||||||
mwagner@evoq.mwagner.org
|
|
||||||
mwagner@here.mwagner.org
|
|
||||||
mwagner@mysql.com
|
|
||||||
mwagner@ultrafly.mysql.com
|
|
||||||
mwagner@work.mysql.com
|
|
||||||
mydev@mysql.com
|
|
||||||
mysql@home.(none)
|
|
||||||
mysql@mc04.(none)
|
|
||||||
mysqldev@bk-internal.mysql.com
|
|
||||||
mysqldev@build.mysql2.com
|
|
||||||
mysqldev@melody.local
|
|
||||||
mysqldev@mysql.com
|
|
||||||
mysqldev@o2k.irixworld.net
|
|
||||||
ndbdev@dl145b.mysql.com
|
|
||||||
ndbdev@dl145c.mysql.com
|
|
||||||
ndbdev@eel.hemma.oreland.se
|
|
||||||
ndbdev@ndbmaster.mysql.com
|
|
||||||
ndbdev@shark.
|
|
||||||
nick@mysql.com
|
|
||||||
nick@nick.leippe.com
|
|
||||||
obarnir@mysql.com
|
|
||||||
papa@gbichot.local
|
|
||||||
patg@krsna.
|
|
||||||
patg@krsna.patg.net
|
|
||||||
patg@patrick-galbraiths-computer.local
|
|
||||||
patg@patrick.local
|
|
||||||
patg@pc248.lfp.kcls.org
|
|
||||||
patg@radha.local
|
|
||||||
paul@central.snake.net
|
|
||||||
paul@frost.snake.net
|
|
||||||
paul@ice.local
|
|
||||||
paul@ice.snake.net
|
|
||||||
paul@kite-hub.kitebird.com
|
|
||||||
paul@snake-hub.snake.net
|
|
||||||
paul@teton.kitebird.com
|
|
||||||
pekka@mysql.com
|
|
||||||
pem@mysql.com
|
|
||||||
pem@per-erik-martins-dator.local
|
|
||||||
peter@linux.local
|
|
||||||
peter@mysql.com
|
|
||||||
peterg@mysql.com
|
|
||||||
petr@mysql.com
|
|
||||||
pgulutzan@linux.local
|
|
||||||
pmartin@build.mysql2.com
|
|
||||||
psergey@psergey-rh8.(none)
|
|
||||||
psergey@psergey.(none)
|
|
||||||
ram@deer.(none)
|
|
||||||
ram@gw.mysql.r18.ru
|
|
||||||
ram@gw.udmsearch.izhnet.ru
|
|
||||||
ram@mysql.r18.ru
|
|
||||||
ram@ram-book.(none)
|
|
||||||
ram@ram.(none)
|
|
||||||
ramil@mysql.com
|
|
||||||
ranger@regul.home.lan
|
|
||||||
rburnett@bk-internal.mysql.com
|
|
||||||
rburnett@build.mysql.com
|
|
||||||
reggie@bob.(none)
|
|
||||||
reggie@mdk10.(none)
|
|
||||||
reggie@monster.
|
|
||||||
root@home.(none)
|
|
||||||
root@mc04.(none)
|
|
||||||
root@x3.internalnet
|
|
||||||
salle@banica.(none)
|
|
||||||
salle@geopard.(none)
|
|
||||||
salle@geopard.online.bg
|
|
||||||
salle@vafla.home
|
|
||||||
salle@vafla.online.bg
|
|
||||||
sasha@mysql.sashanet.com
|
|
||||||
schwenke@lmy003.wdf.sap.corp
|
|
||||||
schwenke@lmy003.xl.local
|
|
||||||
serg@build.mysql.com
|
|
||||||
serg@build.mysql2.com
|
|
||||||
serg@mysql.com
|
|
||||||
serg@serg.mylan
|
|
||||||
serg@serg.mysql.com
|
|
||||||
serg@sergbook.mylan
|
|
||||||
serg@sergbook.mysql.com
|
|
||||||
sergefp@mysql.com
|
|
||||||
shuichi@mysql.com
|
|
||||||
sinisa@rhols221.adsl.netsonic.fi
|
|
||||||
stewart@mysql.com
|
|
||||||
svoj@mysql.com
|
|
||||||
tfr@beta.frontier86.ee
|
|
||||||
tfr@indrek.tfr.cafe.ee
|
|
||||||
tfr@sarvik.tfr.cafe.ee
|
|
||||||
tim@bitch.mysql.fi
|
|
||||||
tim@black.box
|
|
||||||
tim@hundin.mysql.fi
|
|
||||||
tim@sand.box
|
|
||||||
tim@siva.hindu.god
|
|
||||||
tim@threads.polyesthetic.msg
|
|
||||||
tim@white.box
|
|
||||||
tim@work.mysql.com
|
|
||||||
timour@mysql.com
|
|
||||||
tom@basil-firewall.home.com
|
|
||||||
tomas@mc05.(none)
|
|
||||||
tomas@poseidon.(none)
|
|
||||||
tomas@poseidon.bredbandsbolaget.se
|
|
||||||
tomas@poseidon.elisa-laajakaista.fi
|
|
||||||
tomas@poseidon.ndb.mysql.com
|
|
||||||
tonu@hundin.mysql.fi
|
|
||||||
tonu@volk.internalnet
|
|
||||||
tonu@x153.internalnet
|
|
||||||
tonu@x3.internalnet
|
|
||||||
tsmith@build.mysql.com
|
|
||||||
tulin@build.mysql.com
|
|
||||||
tulin@dl145b.mysql.com
|
|
||||||
tulin@dl145c.mysql.com
|
|
||||||
tulin@mysql.com
|
|
||||||
ulli@morbus.(none)
|
|
||||||
venu@hundin.mysql.fi
|
|
||||||
venu@myvenu.com
|
|
||||||
venu@work.mysql.com
|
|
||||||
vtkachenko@intelp4d.mysql.com
|
|
||||||
vtkachenko@mail.mysql.com
|
|
||||||
vva@eagle.mysql.r18.ru
|
|
||||||
vva@genie.(none)
|
|
||||||
vva@mysql.r18.ru
|
|
||||||
walrus@kishkin.ru
|
|
||||||
walrus@mysql.com
|
|
||||||
wax@kishkin.ru
|
|
||||||
wax@mysql.com
|
|
||||||
worm@altair.is.lan
|
|
||||||
zak@balfor.local
|
|
||||||
zak@linux.local
|
|
||||||
zak@mysql.com
|
|
||||||
zgreant@mysql.com
|
|
@ -1 +0,0 @@
|
|||||||
dev@mysql.com
|
|
@ -1,7 +0,0 @@
|
|||||||
BK|scripts/safe_mysqld.sh|19700101030959|01930|d0a3cc73fd1b0d8d tim@localhost.polyesthetic.msg|scripts/safe_mysqld.sh|20000802235627|38519
|
|
||||||
bk@work.mysql.com|BitKeeper/etc/logging_ok|20000731192914|03271|5e19f6258f804ffe arjen@co3064164-a.bitbike.com|BitKeeper/etc/logging_ok|20011212060636|33009
|
|
||||||
bk@work.mysql.com|BitKeeper/etc/logging_ok|20000731192914|03271|5e19f6258f804ffe jcole@tetra.bedford.progress.com|BitKeeper/etc/logging_ok|20001004201211|30554
|
|
||||||
bk@work.mysql.com|BitKeeper/etc/logging_ok|20000731192914|03271|5e19f6258f804ffe sasha@work.mysql.com|BitKeeper/etc/logging_ok|20000802223223|24242
|
|
||||||
bk@work.mysql.com|BitKeeper/etc/logging_ok|20000731192914|03271|5e19f6258f804ffe tim@localhost.polyesthetic.msg|BitKeeper/etc/logging_ok|20000802235640|27343
|
|
||||||
bk@work.mysql.com|ChangeSet|20000731191004|44203|eae70093a6122e66+ sasha@work.mysql.com|ChangeSet|20000802223249|54774
|
|
||||||
bk@work.mysql.com|ChangeSet|20000731191004|44203|eae70093a6122e66+ tim@localhost.polyesthetic.msg|ChangeSet|20000802235645|56533
|
|
@ -1,14 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
shift
|
|
||||||
REPO=`bk gethost`:`pwd`
|
|
||||||
TO=dev@mysql.com
|
|
||||||
if [ -f BitKeeper/etc/pushed -a "$BK_OUTGOING" = OK ]
|
|
||||||
then (
|
|
||||||
echo ${USER}@"$@"
|
|
||||||
echo ""
|
|
||||||
bk changes - < BitKeeper/etc/pushed
|
|
||||||
) | mail -s "Outgoing from $REPO" $TO
|
|
||||||
else
|
|
||||||
echo ${USER}@"$@"| mail -s "Outgoing from $REPO = $BK_OUTGOING" $TO
|
|
||||||
fi
|
|
@ -1,134 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#shift
|
|
||||||
if [ -n "$BK_USER" ]
|
|
||||||
then
|
|
||||||
COMMITTER=$BK_USER
|
|
||||||
else
|
|
||||||
COMMITTER=$USER
|
|
||||||
fi
|
|
||||||
FROM=$COMMITTER@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
|
|
||||||
|
|
||||||
IS_MERGE=`bk changes -r+ -k -m`
|
|
||||||
if [ "$IS_MERGE" = "" ]
|
|
||||||
then
|
|
||||||
echo Merge changeset, not sending mails
|
|
||||||
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
|
|
||||||
|
|
||||||
#++
|
|
||||||
# commits@ or dev-private@ mail
|
|
||||||
#--
|
|
||||||
|
|
||||||
LIST="commits"
|
|
||||||
TO="commits@lists.mysql.com"
|
|
||||||
if [ -f .tree-is-private ]
|
|
||||||
then
|
|
||||||
LIST="dev-private"
|
|
||||||
TO="dev-private@mysql.com"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Notifying $LIST list at $TO"
|
|
||||||
(
|
|
||||||
cat <<EOF
|
|
||||||
List-ID: <bk.mysql-$VERSION>
|
|
||||||
From: $FROM
|
|
||||||
To: $TO
|
|
||||||
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 $COMMITTER. When $COMMITTER 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 rset -r+ -ah | bk gnupatch -h -dup -T
|
|
||||||
) | 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 rset -r+ -ah | bk gnupatch -h -dup -T
|
|
||||||
) > $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
|
|
@ -1,22 +0,0 @@
|
|||||||
#! /usr/bin/perl
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
use FindBin;
|
|
||||||
require "$FindBin::Bin/triggers-lib.pl";
|
|
||||||
|
|
||||||
# Don't run unless commit was successful
|
|
||||||
check_status() || exit 0;
|
|
||||||
|
|
||||||
my $cset = latest_cset();
|
|
||||||
|
|
||||||
# Read most recent ChangeSet's changed files. Send merge changes along, since
|
|
||||||
# they'll need to be incorporated in InnoDB's source tree eventually.
|
|
||||||
my $changes = innodb_get_changes('cset', $cset, 'yes')
|
|
||||||
or exit 0;
|
|
||||||
|
|
||||||
innodb_send_changes_email($cset, $changes)
|
|
||||||
or exit 1;
|
|
||||||
|
|
||||||
exit 0;
|
|
@ -1,30 +0,0 @@
|
|||||||
#! /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);
|
|
@ -1,22 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "$BK_USER" = "Administrator" -o "$BK_USER" = "mysqldev" ]
|
|
||||||
then
|
|
||||||
echo "Error: you cannot commit as 'Administrator' or 'mysqldev' user."
|
|
||||||
echo "as a workaround set BK_USER to your nickname"
|
|
||||||
echo "e.g.: export BK_USER='bar'"
|
|
||||||
echo ""
|
|
||||||
echo "Checkin FAILED!"
|
|
||||||
echo "Set BK_USER and retry."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$REAL_EMAIL" = "" ]
|
|
||||||
then
|
|
||||||
echo "Error: you must set REAL_EMAIL in your profile"
|
|
||||||
echo "e.g.: export REAL_EMAIL='Joe Dow <joe@foo.bar>'"
|
|
||||||
echo ""
|
|
||||||
echo "Commit FAILED!"
|
|
||||||
echo "Set REAL_EMAIL and retry."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
@ -1,26 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
my $status = 0;
|
|
||||||
|
|
||||||
my $pending = $ENV{'BK_PENDING'};
|
|
||||||
exit 0 unless -f $pending;
|
|
||||||
|
|
||||||
open FI, "<", $pending || exit 0;
|
|
||||||
while(<FI>) {
|
|
||||||
my ($file, $stuff) = split /\|/, $_, 2;
|
|
||||||
next unless -f $file;
|
|
||||||
$file =~ s/^(.*)\/([^\/]*)$/$2/;
|
|
||||||
my $path = $1;
|
|
||||||
opendir DIR, $path;
|
|
||||||
my @files = sort map { lc } readdir DIR;
|
|
||||||
closedir DIR;
|
|
||||||
my %count = ();
|
|
||||||
$count{$_}++ for @files;
|
|
||||||
@files = grep { $count{$_} > 1 } keys %count;
|
|
||||||
if(@files > 0) {
|
|
||||||
print "$path/$file: duplicate file names: " . (join " ", @files) . "\n";
|
|
||||||
$status = 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
close FI;
|
|
||||||
|
|
||||||
exit $status;
|
|
@ -1,21 +0,0 @@
|
|||||||
#! /usr/bin/perl
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
use FindBin;
|
|
||||||
require "$FindBin::Bin/triggers-lib.pl";
|
|
||||||
|
|
||||||
die "$0: Script error: \$BK_PENDING is not set in pre-commit trigger\n"
|
|
||||||
unless defined $ENV{BK_PENDING};
|
|
||||||
|
|
||||||
# Read changed files from $BK_PENDING directly. Do not bother user about
|
|
||||||
# merge changes; they don't have any choice, the merge must be done.
|
|
||||||
my $changes = innodb_get_changes('file', $ENV{BK_PENDING}, undef)
|
|
||||||
or exit 0;
|
|
||||||
|
|
||||||
innodb_inform_and_query_user($changes)
|
|
||||||
or exit 1; # Abort commit
|
|
||||||
|
|
||||||
# OK, continue with commit
|
|
||||||
exit 0;
|
|
@ -1,22 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "$BK_USER" = "Administrator" -o "$BK_USER" = "mysqldev" ]
|
|
||||||
then
|
|
||||||
echo "Error: you cannot checkin as 'Administrator' or 'mysqldev' user."
|
|
||||||
echo "as a workaround set BK_USER to your nickname"
|
|
||||||
echo "e.g.: export BK_USER='bar'"
|
|
||||||
echo ""
|
|
||||||
echo "Checkin FAILED!"
|
|
||||||
echo "Set BK_USER and retry."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ `tail -c1 $BK_FILE` ]
|
|
||||||
then
|
|
||||||
echo "File $BK_FILE does not end with a new-line character!"
|
|
||||||
echo ""
|
|
||||||
echo "Checkin FAILED!"
|
|
||||||
echo "Fix the problem and retry."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
@ -1,82 +0,0 @@
|
|||||||
#! /usr/bin/perl
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
my $event= $ENV{BK_EVENT};
|
|
||||||
unless($event eq 'outgoing pull' || $event eq 'outgoing push' ||
|
|
||||||
$event eq 'resolve') {
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
my @bad_csets=
|
|
||||||
( 'monty@mysql.com|ChangeSet|20060418090255|16983',
|
|
||||||
'monty@mysql.com|ChangeSet|20060418090458|02628',
|
|
||||||
'monty@mysql.com|ChangeSet|20060419084236|49576',
|
|
||||||
'monty@mysql.com|ChangeSet|20060503164655|51444',
|
|
||||||
'monty@mysql.com|ChangeSet|20060503225814|60133',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504033006|54878',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504130520|48660',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504164102|03511',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504193112|04109',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505015314|02799',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505084007|16704',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505104008|16695',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505171041|13924',
|
|
||||||
'monty@mysql.com|ChangeSet|20060508121933|13866',
|
|
||||||
'monty@mysql.com|ChangeSet|20060508160902|15029',
|
|
||||||
'monty@mysql.com|ChangeSet|20060509145448|38636',
|
|
||||||
'monty@mysql.com|ChangeSet|20060509224111|40037',
|
|
||||||
'monty@mysql.com|ChangeSet|20060510090758|40678',
|
|
||||||
'monty@mysql.com|ChangeSet|20060515164104|46760',
|
|
||||||
'monty@mysql.com|ChangeSet|20060530114549|35852',
|
|
||||||
'monty@mysql.com|ChangeSet|20060605032828|23579',
|
|
||||||
'monty@mysql.com|ChangeSet|20060605033011|10641',
|
|
||||||
'monty@mysql.com|ChangeSet|20060605060652|09843',
|
|
||||||
'msvensson@neptunus.(none)|ChangeSet|20060605094744|10838',
|
|
||||||
'msvensson@neptunus.(none)|ChangeSet|20060605105746|11800',
|
|
||||||
'msvensson@neptunus.(none)|ChangeSet|20060605122345|12772',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060531210831|36442',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060602151941|36118',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060602152136|27762',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060605121748|12864',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060605160304|14798',
|
|
||||||
'jimw@mysql.com|ChangeSet|20060605210201|14667',
|
|
||||||
'igor@rurik.mysql.com|ChangeSet|20060605220727|15265',
|
|
||||||
'igor@rurik.mysql.com|ChangeSet|20060605221206|15134',
|
|
||||||
'stewart@mysql.com|ChangeSet|20060525073521|11169',
|
|
||||||
'stewart@mysql.com|ChangeSet|20060605154220|12975',
|
|
||||||
'stewart@mysql.com|ChangeSet|20060606040001|15337',
|
|
||||||
'hartmut@mysql.com/linux.site|ChangeSet|20070413121444|50289'
|
|
||||||
);
|
|
||||||
|
|
||||||
# Read the list of changesets.
|
|
||||||
my $csetlist = $ENV{BK_CSETLIST};
|
|
||||||
if(!defined($csetlist) || !open(FH, '<', $csetlist)) {
|
|
||||||
die "Failed to open list of incoming changesets '$csetlist': $!.\n";
|
|
||||||
}
|
|
||||||
my @csets = <FH>;
|
|
||||||
close FH;
|
|
||||||
|
|
||||||
# Reject any attempt to push/pull a bad changeset.
|
|
||||||
for my $cs (@csets) {
|
|
||||||
# Do this the raw way, don't want to be bitten by different EOL conventions
|
|
||||||
# on server and client (Unix/Windows/Mac).
|
|
||||||
$cs =~ s/\x0d?\x0a?$//s;
|
|
||||||
if(grep($_ eq $cs, @bad_csets)) {
|
|
||||||
print <<END;
|
|
||||||
BAD CHANGESET DETECTED! $event REJECTED!
|
|
||||||
|
|
||||||
The changeset with key '$cs' was detected in the attempted push or pull.
|
|
||||||
This changeset is from the corrupt part of the crashed mysql-5.1-new tree.
|
|
||||||
Pushing or pulling this changeset would result in corruption of the new tree,
|
|
||||||
and therefore the operation has been rejected.
|
|
||||||
|
|
||||||
Contact Kristian Nielsen (knielsen\@mysql.com, IRC knielsen) if you have any
|
|
||||||
questions regarding this.
|
|
||||||
END
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|
@ -1,82 +0,0 @@
|
|||||||
#! /usr/bin/perl
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
my $event= $ENV{BK_EVENT};
|
|
||||||
unless($event eq 'outgoing pull' || $event eq 'outgoing push' ||
|
|
||||||
$event eq 'resolve') {
|
|
||||||
exit 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
my @bad_csets=
|
|
||||||
( 'monty@mysql.com|ChangeSet|20060418090255|16983',
|
|
||||||
'monty@mysql.com|ChangeSet|20060418090458|02628',
|
|
||||||
'monty@mysql.com|ChangeSet|20060419084236|49576',
|
|
||||||
'monty@mysql.com|ChangeSet|20060503164655|51444',
|
|
||||||
'monty@mysql.com|ChangeSet|20060503225814|60133',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504033006|54878',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504130520|48660',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504164102|03511',
|
|
||||||
'monty@mysql.com|ChangeSet|20060504193112|04109',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505015314|02799',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505084007|16704',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505104008|16695',
|
|
||||||
'monty@mysql.com|ChangeSet|20060505171041|13924',
|
|
||||||
'monty@mysql.com|ChangeSet|20060508121933|13866',
|
|
||||||
'monty@mysql.com|ChangeSet|20060508160902|15029',
|
|
||||||
'monty@mysql.com|ChangeSet|20060509145448|38636',
|
|
||||||
'monty@mysql.com|ChangeSet|20060509224111|40037',
|
|
||||||
'monty@mysql.com|ChangeSet|20060510090758|40678',
|
|
||||||
'monty@mysql.com|ChangeSet|20060515164104|46760',
|
|
||||||
'monty@mysql.com|ChangeSet|20060530114549|35852',
|
|
||||||
'monty@mysql.com|ChangeSet|20060605032828|23579',
|
|
||||||
'monty@mysql.com|ChangeSet|20060605033011|10641',
|
|
||||||
'monty@mysql.com|ChangeSet|20060605060652|09843',
|
|
||||||
'msvensson@neptunus.(none)|ChangeSet|20060605094744|10838',
|
|
||||||
'msvensson@neptunus.(none)|ChangeSet|20060605105746|11800',
|
|
||||||
'msvensson@neptunus.(none)|ChangeSet|20060605122345|12772',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060531210831|36442',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060602151941|36118',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060602152136|27762',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060605121748|12864',
|
|
||||||
'jmiller@mysql.com|ChangeSet|20060605160304|14798',
|
|
||||||
'jimw@mysql.com|ChangeSet|20060605210201|14667',
|
|
||||||
'igor@rurik.mysql.com|ChangeSet|20060605220727|15265',
|
|
||||||
'igor@rurik.mysql.com|ChangeSet|20060605221206|15134',
|
|
||||||
'stewart@mysql.com|ChangeSet|20060525073521|11169',
|
|
||||||
'stewart@mysql.com|ChangeSet|20060605154220|12975',
|
|
||||||
'stewart@mysql.com|ChangeSet|20060606040001|15337',
|
|
||||||
'hartmut@mysql.com/linux.site|ChangeSet|20070413121444|50289'
|
|
||||||
);
|
|
||||||
|
|
||||||
# Read the list of changesets.
|
|
||||||
my $csetlist = $ENV{BK_CSETLIST};
|
|
||||||
if(!defined($csetlist) || !open(FH, '<', $csetlist)) {
|
|
||||||
die "Failed to open list of incoming changesets '$csetlist': $!.\n";
|
|
||||||
}
|
|
||||||
my @csets = <FH>;
|
|
||||||
close FH;
|
|
||||||
|
|
||||||
# Reject any attempt to push/pull a bad changeset.
|
|
||||||
for my $cs (@csets) {
|
|
||||||
# Do this the raw way, don't want to be bitten by different EOL conventions
|
|
||||||
# on server and client (Unix/Windows/Mac).
|
|
||||||
$cs =~ s/\x0d?\x0a?$//s;
|
|
||||||
if(grep($_ eq $cs, @bad_csets)) {
|
|
||||||
print <<END;
|
|
||||||
BAD CHANGESET DETECTED! $event REJECTED!
|
|
||||||
|
|
||||||
The changeset with key '$cs' was detected in the attempted push or pull.
|
|
||||||
This changeset is from the corrupt part of the crashed mysql-5.1-new tree.
|
|
||||||
Pushing or pulling this changeset would result in corruption of the new tree,
|
|
||||||
and therefore the operation has been rejected.
|
|
||||||
|
|
||||||
Contact Kristian Nielsen (knielsen\@mysql.com, IRC knielsen) if you have any
|
|
||||||
questions regarding this.
|
|
||||||
END
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
exit 0;
|
|
@ -1,356 +0,0 @@
|
|||||||
# To use this convenience library in a trigger, simply require it at
|
|
||||||
# at the top of the script. For example:
|
|
||||||
#
|
|
||||||
# #! /usr/bin/perl
|
|
||||||
#
|
|
||||||
# use FindBin;
|
|
||||||
# require "$FindBin::Bin/triggers-lib.pl";
|
|
||||||
#
|
|
||||||
# FindBin is needed, because sometimes a trigger is called from the
|
|
||||||
# RESYNC directory, and the trigger dir is ../BitKeeper/triggers
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
use Carp;
|
|
||||||
use FindBin;
|
|
||||||
|
|
||||||
|
|
||||||
my $mysql_version = "5.1";
|
|
||||||
|
|
||||||
# These addresses must be kept current in all MySQL versions.
|
|
||||||
# See the wiki page InnoDBandOracle.
|
|
||||||
#my @innodb_to_email = ('dev_innodb_ww@oracle.com');
|
|
||||||
#my @innodb_cc_email = ('dev-innodb@mysql.com');
|
|
||||||
# FIXME: Keep this for testing; remove it once it's been used for a
|
|
||||||
# week or two.
|
|
||||||
my @innodb_to_email = ('tim@mysql.com');
|
|
||||||
my @innodb_cc_email = ();
|
|
||||||
|
|
||||||
# This is for MySQL >= 5.1. Regex which defines the InnoDB files
|
|
||||||
# which should generally not be touched by MySQL developers.
|
|
||||||
my $innodb_files_description = <<EOF;
|
|
||||||
storage/innobase/*
|
|
||||||
mysql-test/t/innodb* (except mysql-test/t/innodb_mysql*)
|
|
||||||
mysql-test/r/innodb* (except mysql-test/r/innodb_mysql*)
|
|
||||||
EOF
|
|
||||||
my $innodb_files_regex = qr{
|
|
||||||
^
|
|
||||||
(
|
|
||||||
# Case 1: innobase/*
|
|
||||||
storage/innobase/
|
|
||||||
|
|
|
||||||
# Case 2: mysql-test/[tr]/innodb* (except innodb_mysql*)
|
|
||||||
mysql-test/(t|r)/SCCS/s.innodb
|
|
||||||
# The mysql-test/[tr]/innodb_mysql* are OK to edit
|
|
||||||
(?!_mysql)
|
|
||||||
)
|
|
||||||
}x;
|
|
||||||
|
|
||||||
|
|
||||||
# See 'bk help log', and the format of, e.g., $BK_PENDING.
|
|
||||||
# Important: this already contains the terminating newline!
|
|
||||||
my $file_rev_dspec = ':SFILE:|:REV:\n';
|
|
||||||
|
|
||||||
my $bktmp = "$FindBin::Bin/../tmp";
|
|
||||||
|
|
||||||
my $sendmail;
|
|
||||||
foreach ('/usr/sbin/sendmail', 'sendmail') {
|
|
||||||
$sendmail = $_;
|
|
||||||
last if -x $sendmail;
|
|
||||||
}
|
|
||||||
my $from = $ENV{REAL_EMAIL} || $ENV{USER} . '@mysql.com';
|
|
||||||
|
|
||||||
|
|
||||||
# close_or_warn
|
|
||||||
# $fh file handle to be closed
|
|
||||||
# $description description of the file handle
|
|
||||||
# RETURN Return value of close($fh)
|
|
||||||
#
|
|
||||||
# Print a nice warning message if close() isn't successful. See
|
|
||||||
# perldoc perlvar and perldoc -f close for details.
|
|
||||||
|
|
||||||
sub close_or_warn (*$)
|
|
||||||
{
|
|
||||||
my ($fh, $description) = @_;
|
|
||||||
|
|
||||||
my $status = close $fh;
|
|
||||||
if (not $status) {
|
|
||||||
warn "$0: error on close of '$description': ",
|
|
||||||
($! ? "$!" : "exit status " . ($? >> 8)), "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $status;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# check_status
|
|
||||||
# $warn If true, warn about bad status
|
|
||||||
# RETURN TRUE, if $BK_STATUS is "OK"; FALSE otherwise
|
|
||||||
#
|
|
||||||
# Also checks the undocumented $BK_COMMIT env variable
|
|
||||||
|
|
||||||
sub check_status
|
|
||||||
{
|
|
||||||
my ($warn) = @_;
|
|
||||||
|
|
||||||
my $status = (grep { defined $_ }
|
|
||||||
$ENV{BK_STATUS}, $ENV{BK_COMMIT}, '<undef>')[0];
|
|
||||||
|
|
||||||
unless ($status eq 'OK')
|
|
||||||
{
|
|
||||||
warn "Bad BK_STATUS '$status'\n" if $warn;
|
|
||||||
return undef;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# repository_location
|
|
||||||
#
|
|
||||||
# RETURN ('HOST', 'ROOT') for the repository being modified
|
|
||||||
|
|
||||||
sub repository_location
|
|
||||||
{
|
|
||||||
if ($ENV{BK_SIDE} eq 'client') {
|
|
||||||
return ($ENV{BK_HOST}, $ENV{BK_ROOT});
|
|
||||||
} else {
|
|
||||||
return ($ENV{BKD_HOST}, $ENV{BKD_ROOT});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# repository_type
|
|
||||||
# RETURN:
|
|
||||||
# 'main' for repo on bk-internal with post-incoming.bugdb trigger
|
|
||||||
# 'team' for repo on bk-internal with post-incoming.queuepush.pl trigger
|
|
||||||
# 'local' otherwise
|
|
||||||
#
|
|
||||||
# This definition may need to be modified if the host name or triggers change.
|
|
||||||
|
|
||||||
sub repository_type
|
|
||||||
{
|
|
||||||
my ($host, $root) = repository_location();
|
|
||||||
|
|
||||||
return 'local'
|
|
||||||
unless uc($host) eq 'BK-INTERNAL.MYSQL.COM'
|
|
||||||
and -e "$root/BitKeeper/triggers/post-incoming.queuepush.pl";
|
|
||||||
|
|
||||||
return 'main' if -e "$root/BitKeeper/triggers/post-incoming.bugdb";
|
|
||||||
|
|
||||||
return 'team';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# latest_cset
|
|
||||||
# RETURN Key for most recent ChangeSet
|
|
||||||
|
|
||||||
sub latest_cset {
|
|
||||||
chomp(my $retval = `bk changes -r+ -k`);
|
|
||||||
return $retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# read_bk_csetlist
|
|
||||||
# RETURN list of cset keys from $BK_CSETLIST file
|
|
||||||
sub read_bk_csetlist
|
|
||||||
{
|
|
||||||
die "$0: script error: \$BK_CSETLIST not set\n"
|
|
||||||
unless defined $ENV{BK_CSETLIST};
|
|
||||||
|
|
||||||
open CSETS, '<', $ENV{BK_CSETLIST}
|
|
||||||
or die "$0: can't read \$BK_CSETLIST='$ENV{BK_CSETLIST}': $!\n";
|
|
||||||
chomp(my @csets = <CSETS>);
|
|
||||||
close_or_warn(CSETS, "\$BK_CSETLIST='$ENV{BK_CSETLIST}'");
|
|
||||||
|
|
||||||
return @csets;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# innodb_get_changes
|
|
||||||
# $type 'file' or 'cset'
|
|
||||||
# $value file name (e.g., $BK_PENDING) or ChangeSet key
|
|
||||||
# $want_merge_changes flag; if false, merge changes will be ignored
|
|
||||||
# RETURN A string describing the InnoDB changes, or undef if no changes
|
|
||||||
#
|
|
||||||
# The return value does *not* include ChangeSet comments, only per-file
|
|
||||||
# comments.
|
|
||||||
|
|
||||||
sub innodb_get_changes
|
|
||||||
{
|
|
||||||
my ($type, $value, $want_merge_changes) = @_;
|
|
||||||
|
|
||||||
if ($type eq 'file')
|
|
||||||
{
|
|
||||||
open CHANGES, '<', $value
|
|
||||||
or die "$0: can't read '$value': $!\n";
|
|
||||||
}
|
|
||||||
elsif ($type eq 'cset')
|
|
||||||
{
|
|
||||||
open CHANGES, '-|', "bk changes -r'$value' -v -d'$file_rev_dspec'"
|
|
||||||
or die "$0: can't exec 'bk changes': $!\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
croak "$0: script error: invalid type '$type'";
|
|
||||||
}
|
|
||||||
|
|
||||||
my @changes = grep { /$innodb_files_regex/ } <CHANGES>;
|
|
||||||
|
|
||||||
close_or_warn(CHANGES, "($type, '$value')");
|
|
||||||
|
|
||||||
return undef unless @changes;
|
|
||||||
|
|
||||||
|
|
||||||
# Set up a pipeline of 'bk log' commands to weed out unwanted deltas. We
|
|
||||||
# never want deltas which contain no actual changes. We may not want deltas
|
|
||||||
# which are merges.
|
|
||||||
|
|
||||||
my @filters;
|
|
||||||
|
|
||||||
# This tests if :LI: (lines inserted) or :LD: (lines deleted) is
|
|
||||||
# non-zero. That is, did this delta change the file contents?
|
|
||||||
push @filters,
|
|
||||||
"bk log -d'"
|
|
||||||
. "\$if(:LI: -gt 0){$file_rev_dspec}"
|
|
||||||
. "\$if(:LI: -eq 0){\$if(:LD: -gt 0){$file_rev_dspec}}"
|
|
||||||
. "' -";
|
|
||||||
|
|
||||||
push @filters, "bk log -d'\$unless(:MERGE:){$file_rev_dspec}' -"
|
|
||||||
unless $want_merge_changes;
|
|
||||||
|
|
||||||
my $tmpname = "$bktmp/ibchanges.txt";
|
|
||||||
my $pipeline = join(' | ', @filters) . " > $tmpname";
|
|
||||||
open TMP, '|-', $pipeline
|
|
||||||
or die "$0: can't exec [[$pipeline]]: $!\n";
|
|
||||||
|
|
||||||
print TMP @changes;
|
|
||||||
close_or_warn(TMP, "| $pipeline");
|
|
||||||
|
|
||||||
# Use bk log to describe the changes
|
|
||||||
open LOG, "bk log - < $tmpname |"
|
|
||||||
or die "$0: can't exec 'bk log - < $tmpname': $!\n";
|
|
||||||
my @log = <LOG>;
|
|
||||||
close_or_warn(LOG, "bk log - < $tmpname |");
|
|
||||||
|
|
||||||
unlink $tmpname;
|
|
||||||
|
|
||||||
return undef unless @log;
|
|
||||||
|
|
||||||
return join('', @log);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Ask user if they really want to commit.
|
|
||||||
# RETURN TRUE = YES, commit; FALSE = NO, do not commit
|
|
||||||
|
|
||||||
sub innodb_inform_and_query_user
|
|
||||||
{
|
|
||||||
my ($description) = @_;
|
|
||||||
|
|
||||||
my $tmpname = "$bktmp/ibquery.txt";
|
|
||||||
|
|
||||||
open MESSAGE, "> $tmpname"
|
|
||||||
or die "$0: can't write message to '$tmpname': $!";
|
|
||||||
|
|
||||||
print MESSAGE <<EOF;
|
|
||||||
This ChangeSet modifies some files which should normally be changed by
|
|
||||||
InnoDB developers only. In general, MySQL developers should not change:
|
|
||||||
|
|
||||||
$innodb_files_description
|
|
||||||
The following InnoDB files were modified:
|
|
||||||
=========================================================
|
|
||||||
$description
|
|
||||||
=========================================================
|
|
||||||
|
|
||||||
If you understand this, you may Commit these changes. The changes
|
|
||||||
will be sent to the InnoDB developers at @{[join ', ', @innodb_to_email]},
|
|
||||||
CC @{[join ', ', @innodb_cc_email]}.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
close_or_warn(MESSAGE, "$tmpname");
|
|
||||||
|
|
||||||
my $status = system('bk', 'prompt', '-w',
|
|
||||||
'-yCommit these changes', '-nDo not Commit', "-f$tmpname");
|
|
||||||
|
|
||||||
unlink $tmpname;
|
|
||||||
|
|
||||||
return ($status == 0 ? 1 : undef);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# innodb_send_changes_email
|
|
||||||
# $cset The ChangeSet key
|
|
||||||
# $description A (maybe brief) description of the changes
|
|
||||||
# RETURN TRUE = Success, e-mail sent; FALSE = Failure
|
|
||||||
#
|
|
||||||
# Sends a complete diff of changes in $cset by e-mail.
|
|
||||||
|
|
||||||
sub innodb_send_changes_email
|
|
||||||
{
|
|
||||||
my ($cset, $description) = @_;
|
|
||||||
|
|
||||||
# FIXME: Much of this is duplicated in the 'post-commit' Bourne shell
|
|
||||||
# trigger
|
|
||||||
|
|
||||||
my $cset_short = `bk changes -r'$cset' -d':P:::I:'`;
|
|
||||||
my $cset_key = `bk changes -r'$cset' -d':KEY:'`;
|
|
||||||
|
|
||||||
my ($host, $bk_root) = repository_location();
|
|
||||||
my $type = repository_type();
|
|
||||||
(my $treename = $bk_root) =~ s,^.*/,,;
|
|
||||||
|
|
||||||
print "Nofifying InnoDB developers at ",
|
|
||||||
(join ', ', @innodb_to_email, @innodb_cc_email), "\n";
|
|
||||||
|
|
||||||
open SENDMAIL, '|-', "$sendmail -t"
|
|
||||||
or die "Can't exec '$sendmail -t': $!\n";
|
|
||||||
|
|
||||||
my @headers;
|
|
||||||
push @headers, "List-ID: <bk.innodb-$mysql_version>";
|
|
||||||
push @headers, "From: $from";
|
|
||||||
push @headers, "To: " . (join ', ', @innodb_to_email);
|
|
||||||
push @headers, "Cc: " . (join ', ', @innodb_cc_email) if @innodb_cc_email;
|
|
||||||
push @headers,
|
|
||||||
"Subject: InnoDB changes in $type $mysql_version tree ($cset_short)";
|
|
||||||
push @headers, "X-CSetKey: <$cset_key>";
|
|
||||||
|
|
||||||
print SENDMAIL map { "$_\n" } @headers, '';
|
|
||||||
|
|
||||||
if ($type eq 'main')
|
|
||||||
{
|
|
||||||
print SENDMAIL <<EOF;
|
|
||||||
Changes pushed to $treename by $ENV{USER} affect the following
|
|
||||||
files. These changes are in a $mysql_version main tree. They
|
|
||||||
will be available publicly within 24 hours.
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
elsif ($type eq 'team')
|
|
||||||
{
|
|
||||||
print SENDMAIL <<EOF;
|
|
||||||
Changes added to $treename by $ENV{USER} affect the
|
|
||||||
following files. These changes are in a $mysql_version team tree.
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print SENDMAIL <<EOF;
|
|
||||||
A local commit by $ENV{USER} affects the following files. These
|
|
||||||
changes are in a clone of a $mysql_version tree.
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
print SENDMAIL "\n";
|
|
||||||
print SENDMAIL qx(bk changes -r'$cset');
|
|
||||||
print SENDMAIL "$description";
|
|
||||||
print SENDMAIL "The complete ChangeSet diffs follow.\n\n";
|
|
||||||
print SENDMAIL qx(bk rset -r'$cset' -ah | bk gnupatch -h -dup -T);
|
|
||||||
|
|
||||||
close_or_warn(SENDMAIL, "$sendmail -t")
|
|
||||||
or return undef;
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
1;
|
|
Loading…
x
Reference in New Issue
Block a user