Imported buildbot 0.8.0 source upstream BUILDBOT_0_8_0
authorChris AtLee <catlee@mozilla.com>
Wed, 26 May 2010 12:13:46 -0400
branchupstream
changeset 68 82459341e442823e6dd8ba2bd050a221706fef77
parent 57 3ba62037c0824a949d390b10496adc852059946c
child 69 442a0d234708b2356f730072d3caf1b17224adfc
push id23
push usercatlee@mozilla.com
push dateWed, 26 May 2010 21:57:19 +0000
Imported buildbot 0.8.0 source
CREDITS
ChangeLog-0.8.0
MANIFEST.in
NEWS
PKG-INFO
README
README.w32
UPGRADING
buildbot.egg-info/PKG-INFO
buildbot.egg-info/SOURCES.txt
buildbot.egg-info/requires.txt
buildbot/__init__.py
buildbot/buildrequest.py
buildbot/buildset.py
buildbot/buildslave.py
buildbot/changes/bonsaipoller.py
buildbot/changes/changes.py
buildbot/changes/dnotify.py
buildbot/changes/freshcvs.py
buildbot/changes/hgbuildbot.py
buildbot/changes/mail.py
buildbot/changes/manager.py
buildbot/changes/p4poller.py
buildbot/changes/pb.py
buildbot/changes/svnpoller.py
buildbot/clients/base.py
buildbot/clients/debug.py
buildbot/clients/gtkPanes.py
buildbot/clients/sendchange.py
buildbot/clients/tryclient.py
buildbot/config.py
buildbot/db/__init__.py
buildbot/db/connector.py
buildbot/db/dbspec.py
buildbot/db/exceptions.py
buildbot/db/schema/__init__.py
buildbot/db/schema/base.py
buildbot/db/schema/manager.py
buildbot/db/schema/tables.sql
buildbot/db/schema/v1.py
buildbot/db/schema/v2.py
buildbot/db/schema/v3.py
buildbot/db/schema/v4.py
buildbot/db/schema/v5.py
buildbot/db/util.py
buildbot/dnotify.py
buildbot/ec2buildslave.py
buildbot/interfaces.py
buildbot/master.py
buildbot/process/base.py
buildbot/process/builder.py
buildbot/process/buildstep.py
buildbot/process/factory.py
buildbot/process/step_twisted2.py
buildbot/process/subunitlogobserver.py
buildbot/scheduler.py
buildbot/schedulers/__init__.py
buildbot/schedulers/base.py
buildbot/schedulers/basic.py
buildbot/schedulers/filter.py
buildbot/schedulers/manager.py
buildbot/schedulers/timed.py
buildbot/schedulers/triggerable.py
buildbot/schedulers/trysched.py
buildbot/scripts/checkconfig.py
buildbot/scripts/runner.py
buildbot/scripts/sample.cfg
buildbot/scripts/startup.py
buildbot/scripts/tryclient.py
buildbot/slave/bot.py
buildbot/slave/commands.py
buildbot/slave/commands/__init__.py
buildbot/slave/commands/base.py
buildbot/slave/commands/registry.py
buildbot/slave/commands/transfer.py
buildbot/slave/commands/utils.py
buildbot/slave/commands/vcs.py
buildbot/slave/registry.py
buildbot/sourcestamp.py
buildbot/status/base.py
buildbot/status/builder.py
buildbot/status/client.py
buildbot/status/html.py
buildbot/status/mail.py
buildbot/status/persistent_queue.py
buildbot/status/status_push.py
buildbot/status/tests.py
buildbot/status/web/about.py
buildbot/status/web/auth.py
buildbot/status/web/authz.py
buildbot/status/web/base.py
buildbot/status/web/baseweb.py
buildbot/status/web/bg_gradient.jpg
buildbot/status/web/build.py
buildbot/status/web/builder.py
buildbot/status/web/buildstatus.py
buildbot/status/web/changes.py
buildbot/status/web/classic.css
buildbot/status/web/console.py
buildbot/status/web/console_html.py
buildbot/status/web/console_js.py
buildbot/status/web/default.css
buildbot/status/web/extended.css
buildbot/status/web/feeds.py
buildbot/status/web/files/bg_gradient.jpg
buildbot/status/web/files/default.css
buildbot/status/web/files/favicon.ico
buildbot/status/web/files/robots.txt
buildbot/status/web/grid.py
buildbot/status/web/index.html
buildbot/status/web/logs.py
buildbot/status/web/olpb.py
buildbot/status/web/robots.txt
buildbot/status/web/root.py
buildbot/status/web/slaves.py
buildbot/status/web/status_json.py
buildbot/status/web/step.py
buildbot/status/web/templates/about.html
buildbot/status/web/templates/authfail.html
buildbot/status/web/templates/box_macros.html
buildbot/status/web/templates/build.html
buildbot/status/web/templates/build_line.html
buildbot/status/web/templates/builder.html
buildbot/status/web/templates/builders.html
buildbot/status/web/templates/buildslave.html
buildbot/status/web/templates/buildslaves.html
buildbot/status/web/templates/buildstatus.html
buildbot/status/web/templates/buildstep.html
buildbot/status/web/templates/change.html
buildbot/status/web/templates/change_macros.html
buildbot/status/web/templates/change_sources.html
buildbot/status/web/templates/console.html
buildbot/status/web/templates/directory.html
buildbot/status/web/templates/empty.html
buildbot/status/web/templates/feed_atom10.xml
buildbot/status/web/templates/feed_description.html
buildbot/status/web/templates/feed_rss20.xml
buildbot/status/web/templates/footer.html
buildbot/status/web/templates/forms.html
buildbot/status/web/templates/grid.html
buildbot/status/web/templates/grid_macros.html
buildbot/status/web/templates/grid_transposed.html
buildbot/status/web/templates/jsonhelp.html
buildbot/status/web/templates/layout.html
buildbot/status/web/templates/logs.html
buildbot/status/web/templates/onelineperbuild.html
buildbot/status/web/templates/onelineperbuildonebuilder.html
buildbot/status/web/templates/revmacros.html
buildbot/status/web/templates/root.html
buildbot/status/web/templates/waterfall.html
buildbot/status/web/templates/waterfallhelp.html
buildbot/status/web/tests.py
buildbot/status/web/waterfall.py
buildbot/status/web/xmlrpc.py
buildbot/status/words.py
buildbot/steps/master.py
buildbot/steps/package/rpm/rpmbuild.py
buildbot/steps/package/rpm/rpmspec.py
buildbot/steps/python_twisted.py
buildbot/steps/shell.py
buildbot/steps/source.py
buildbot/steps/subunit.py
buildbot/steps/transfer.py
buildbot/steps/trigger.py
buildbot/steps/vstudio.py
buildbot/stringTemplate.py
buildbot/test/__init__.py
buildbot/test/emit.py
buildbot/test/emitlogs.py
buildbot/test/fake/__init__.py
buildbot/test/fake/fakedb.py
buildbot/test/fake/state.py
buildbot/test/mail/freshcvs.1
buildbot/test/mail/freshcvs.2
buildbot/test/mail/freshcvs.3
buildbot/test/mail/freshcvs.4
buildbot/test/mail/freshcvs.5
buildbot/test/mail/freshcvs.6
buildbot/test/mail/freshcvs.7
buildbot/test/mail/freshcvs.8
buildbot/test/mail/freshcvs.9
buildbot/test/mail/launchpad.1
buildbot/test/mail/launchpad.2
buildbot/test/mail/launchpad.3
buildbot/test/mail/launchpad.4
buildbot/test/mail/launchpad.5
buildbot/test/mail/launchpad.6
buildbot/test/mail/svn-commit.1
buildbot/test/mail/svn-commit.2
buildbot/test/mail/syncmail.1
buildbot/test/mail/syncmail.2
buildbot/test/mail/syncmail.3
buildbot/test/mail/syncmail.4
buildbot/test/mail/syncmail.5
buildbot/test/regressions/__init__.py
buildbot/test/regressions/test_change_properties.py
buildbot/test/regressions/test_import_unicode_changes.py
buildbot/test/regressions/test_shell_command_properties.py
buildbot/test/runutils.py
buildbot/test/sleep.py
buildbot/test/subdir/__init__.py
buildbot/test/subdir/emit.py
buildbot/test/test__versions.py
buildbot/test/test_bonsaipoller.py
buildbot/test/test_buildreq.py
buildbot/test/test_buildstep.py
buildbot/test/test_changemaster.py
buildbot/test/test_changes.py
buildbot/test/test_config.py
buildbot/test/test_console.py
buildbot/test/test_control.py
buildbot/test/test_dependencies.py
buildbot/test/test_ec2buildslave.py
buildbot/test/test_locks.py
buildbot/test/test_maildir.py
buildbot/test/test_mailparse.py
buildbot/test/test_ordering.py
buildbot/test/test_p4poller.py
buildbot/test/test_package_rpm.py
buildbot/test/test_properties.py
buildbot/test/test_reconfig.py
buildbot/test/test_run.py
buildbot/test/test_runner.py
buildbot/test/test_scheduler.py
buildbot/test/test_shell.py
buildbot/test/test_slavecommand.py
buildbot/test/test_slaves.py
buildbot/test/test_status.py
buildbot/test/test_steps.py
buildbot/test/test_svnpoller.py
buildbot/test/test_transfer.py
buildbot/test/test_twisted.py
buildbot/test/test_util.py
buildbot/test/test_vc.py
buildbot/test/test_web.py
buildbot/test/test_webparts.py
buildbot/test/unit/__init__.py
buildbot/test/unit/test_db_connector.py
buildbot/test/unit/test_db_dbspec.py
buildbot/test/unit/test_db_schema_master.py
buildbot/test/unit/test_db_util.py
buildbot/test/unit/test_oldpaths.py
buildbot/test/unit/test_persistent_queue.py
buildbot/test/unit/test_schedulers_basic_Scheduler.py
buildbot/test/unit/test_schedulers_filter.py
buildbot/test/unit/test_slave_commands_base.py
buildbot/test/unit/test_source_repourl.py
buildbot/test/unit/test_status_mail_MailNotifier.py
buildbot/test/unit/test_status_web_authz_Authz.py
buildbot/test/unit/test_status_web_links.py
buildbot/test/unit/test_steps_shell.py
buildbot/test/unit/test_util.py
buildbot/test/unit/test_util_ComparableMixin.py
buildbot/test/unit/test_util_collections.py
buildbot/test/unit/test_util_eventual.py
buildbot/test/unit/test_util_loop.py
buildbot/test/util/__init__.py
buildbot/util.py
buildbot/util/__init__.py
buildbot/util/collections.py
buildbot/util/eventual.py
buildbot/util/loop.py
buildbot/util/monkeypatches.py
contrib/CSS/sample1.css
contrib/CSS/sample2.css
contrib/OS-X/README
contrib/OS-X/net.sourceforge.buildbot.master.plist
contrib/OS-X/net.sourceforge.buildbot.slave.plist
contrib/README.txt
contrib/arch_buildbot.py
contrib/bb_applet.py
contrib/bk_buildbot.py
contrib/coverage2text.py
contrib/css/sample1.css
contrib/css/sample2.css
contrib/fix_changes_pickle_encoding.py
contrib/git_buildbot.py
contrib/github_buildbot.py
contrib/os-x/README
contrib/os-x/net.sourceforge.buildbot.master.plist
contrib/os-x/net.sourceforge.buildbot.slave.plist
contrib/svn_watcher.py
contrib/svnpoller.py
contrib/trac/bbwatcher/api.py
contrib/trac/bbwatcher/web_ui.py
contrib/viewcvspoll.py
contrib/webhook_status.py
contrib/windows/buildbot.bat
contrib/windows/buildbot2.bat
contrib/windows/buildbot_service.py
contrib/windows/setup.py
docs/Makefile
docs/buildbot.html
docs/buildbot.texinfo
docs/cfg-builders.texinfo
docs/cfg-buildfactories.texinfo
docs/cfg-buildslaves.texinfo
docs/cfg-buildsteps.texinfo
docs/cfg-changesources.texinfo
docs/cfg-global.texinfo
docs/cfg-interlocks.texinfo
docs/cfg-schedulers.texinfo
docs/cfg-statustargets.texinfo
docs/cmdline.texinfo
docs/concepts.texinfo
docs/configuration.texinfo
docs/developer.texinfo
docs/epyrun
docs/examples/twisted_master.cfg
docs/gen-reference
docs/images/Makefile
docs/images/master.ai
docs/images/master.png
docs/images/master.svg
docs/images/master.txt
docs/images/overview.ai
docs/images/overview.png
docs/images/overview.svg
docs/images/slavebuilder.png
docs/images/slavebuilder.svg
docs/images/slavebuilder.txt
docs/images/slaves.ai
docs/images/slaves.png
docs/images/slaves.svg
docs/images/status.ai
docs/images/status.png
docs/images/status.svg
docs/installation.texinfo
docs/introduction.texinfo
docs/resources.texinfo
docs/version.py
docs/version.texinfo
setup.py
test-dist.sh
--- a/CREDITS
+++ b/CREDITS
@@ -1,86 +1,161 @@
 This is a list of everybody who has contributed to Buildbot in some way, in
 no particular order. Thanks everybody!
 
+A. T. Hofkamp
 Aaron Hsieh
-Albert Hofkamp
+Adam Vandenberg
 Alexander Lorenz
 Alexander Staubo
 AllMyData.com
+Aloisio Almeida Jr
+Amar Takhar
 Andrew Bennetts
+Andrew Straw
 Anthony Baxter
+Arkadiusz Miskiewicz
+Aviv Ben-Yosef
 Axel Hecht
 Baptiste Lepilleur
-Bear
+Ben Bangert
 Ben Hearsum
+Benjamin Smedberg
 Benoit Sigoure
 Brad Hards
+Brandon Ehle
 Brandon Philips
 Brett Neely
-Charles Lepple
+Brian Campbell
+Brian Warner
 Chad Metcalf
+Chad S Metcalf
+Charles Lepple
 Chris AtLee
+Chris Peyer
+Chris Rivera
+Christian Lins
 Christian Unger
 Clement Stenac
 Dan Locks
+Daniel Dunbar
+Daniel Svensson
+Darragh Bailey
 Dave Liebreich
 Dave Peticolas
 Dobes Vandermeer
-Dustin Mitchell
+Doug Goldstein
+Douglas Hubler
+Dustin J. Mitchell
 Dustin Sallings
 Elliot Murphy
 Fabrice Crestois
+Gareth Armstrong
 Gary Granger
 Gary Poster
 Gerald Combs
+Gerard Escalante
+Geraud Boyer
 Greg Ward
 Grig Gheorghiu
 Haavard Skinnemoen
+Ian Zimmerman
 Igor Slepchin
 JP Calderone
 James Knight
+James Porter
+Jason Hoos
+Jeremy Gill
 Jerome Davann
 John Backstrand
+John Ford
 John O'Duinn
 John Pye
 John Saxton
+Jonathan Romero
+Jonathan S. Romero
 Jose Dapena Paz
+Joshua Kugler
+Julien Boeuf
+KATO Kazuyoshi
 Kevin Turner
 Kirill Lapshin
+Kovarththanan Rajaratnam
+Kristian Nielsen
+Lital Natan
+Łukasz Jernaś
+Marc-Antoine Ruel
 Marcus Lindblom
 Marius Gedminas
+Mark A. Grondona
 Mark Dillavou
 Mark Hammond
 Mark Pauley
 Mark Rowe
 Mateusz Loskot
+Matt Heitzenroder
+Matthew Scott
+Michael Lyle
+Michael MacDonald
+Mikael Lind
+Mike "Bear" Taylor
+Mirko Boehm
+Monty Taylor
 Nathaniel Smith
 Neal Norwitz
+Neil Hemingway
 Nick Mathewson
 Nick Trout
 Nicolas Sylvain
+Nicolás Alvarez
 Niklaus Giger
-Neil Hemingway
 Olivier Bonnet
 Olly Betts
 Paul Warren
 Paul Winkler
 Phil Thompson
 Philipp Frauenfelder
+Quentin Raynaud
+Randall Bosetti
+Rene Müller
 Rene Rivera
 Riccardo Magliocchetti
+Rob Helmer
 Robert Collins
-Rob Helmer
+Robin Eckert
 Roch Gadsdon
 Roy Rapoport
+Satyagraha 1956
 Scott Lamb
+Scott Lawrence
+Sergey Lipnevich
+Shimizukawa
+Sidnei da Silva
+Stefan Seefeld
 Stephen Davis
-Steve 'Ashcrow' Milner
+Steve "Ashcrow" Milner
 Steven Walter
 Ted Mielczarek
+Thijs Triemstra
 Thomas Vander Stichele
+Tim Hatch
 Tobi Vollebregt
+Tom Fogal
 Wade Brainerd
+William Deegan
+William Siegrist
 Yoz Grahame
 Zandr Milewski
+Zellyn Hunter
+Zooko Wilcox-O'Hearn
+
+Name Unknown:
+adam
+adamac
 chops
-zooko
+claude vittoria
+code
+gollum
+gv
+jpittman
+lurker99
+strank
+tailor
new file mode 100644
--- /dev/null
+++ b/ChangeLog-0.8.0
@@ -0,0 +1,7727 @@
+commit e40becc5f2b73c15ac81d094a5153eba6bab501a
+Merge: 38eaa63 1377fe9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue May 25 16:56:46 2010 -0500
+
+    Merge branch 'p4-encoding'
+    
+    * p4-encoding:
+      remove unicodedata.normalize and add comments
+      Force changlist fed to perforce p4 client -i to be ascii.
+
+commit 1377fe96cf3a95eabed1b0ce0f23b1b5ff033a75
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue May 25 16:55:51 2010 -0500
+
+    remove unicodedata.normalize and add comments
+
+commit d18d4f71c68a47fa36bff9ffffbd893391a4fcc9
+Author: William Deegan <bdbaddog@gmail.com>
+Date:   Thu May 20 12:01:36 2010 -0700
+
+    Force changlist fed to perforce p4 client -i to be ascii.
+
+commit 38eaa63cdce0ab2fd39775a0744159379d8e8db0
+Merge: 0947412 012a519
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue May 25 10:36:18 2010 -0500
+
+    Merge branch 'feed_fixes' of git://github.com/garetharmstronghp/buildbot
+    
+    * 'feed_fixes' of git://github.com/garetharmstronghp/buildbot:
+      Minor fixes and tweaks to rss and atom templates
+      White space clean up
+      Add missing rss and atom template files to install
+
+commit 012a519f590aa5b77d7b8273fba7fa7fadb50d9e
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Tue May 25 16:18:51 2010 +0200
+
+    Minor fixes and tweaks to rss and atom templates
+
+commit abb8fa7ba78167774289b0577c41644e7e622588
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Tue May 25 15:32:43 2010 +0200
+
+    White space clean up
+
+commit 84cfaef23c0ecd8de77cd3896e3813dba601ffab
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Tue May 25 15:24:33 2010 +0200
+
+    Add missing rss and atom template files to install
+
+commit 0947412a61fd81a88c973051cb916d27b1585089
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon May 24 10:31:36 2010 -0500
+
+    check that build_status exists before looking at .number (fixes #855)
+
+commit d054a20c72528f3299ca8debaf46aaf1ea5ef02f
+Merge: dd366a2 b6647e7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 19 14:54:14 2010 -0500
+
+    Merge branch 'master' of git://github.com/catlee/buildbot
+    
+    * 'master' of git://github.com/catlee/buildbot:
+      Adding retrying logic for sqlite
+      Add comments about why we're doing unicode encoding
+      Fix running .exes under windows when we don't have an abolute path
+
+commit b6647e75de13fe89238627a627245e2752676fe3
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue May 18 15:34:32 2010 -0400
+
+    Adding retrying logic for sqlite
+
+commit 272c9c79987843cd695d7d639424b851a4263242
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed May 19 14:40:22 2010 -0400
+
+    Add comments about why we're doing unicode encoding
+
+commit 8c638a40d411262b53c396b3fa9a9ca955b5b427
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed May 19 12:41:26 2010 -0400
+
+    Fix running .exes under windows when we don't have an abolute path
+
+commit dd366a28e9635fde68652a79fd77b0ffe4885706
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 19 12:30:27 2010 -0500
+
+    obfuscate P4 passwords - fixes #846
+
+commit 71edd6fcb2388a1714b455445828c6a9a6ece142
+Merge: 900f113 2839603
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 19 09:08:10 2010 -0500
+
+    Merge branch 'master' of git://github.com/catlee/buildbot
+    
+    * 'master' of git://github.com/catlee/buildbot:
+      Fix error handling for _startCommand so that tracebacks get back to the
+
+commit 28396037cc226fc214028d429bb167250834e5e0
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue May 18 17:46:23 2010 -0400
+
+    Fix error handling for _startCommand so that tracebacks get back to the
+    master.
+
+commit 900f1135f435a92f806c7ebf934ecc8c0859b594
+Merge: 56fc5af ce0a55e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue May 18 10:52:36 2010 -0500
+
+    Merge branch 'master' of git://github.com/catlee/buildbot
+    
+    * 'master' of git://github.com/catlee/buildbot:
+      Calculate 'now' for scheduler loop ahead of time.
+
+commit 56fc5af81485c39fc2f374d371b69f31a9d0cc00
+Merge: b3a8a56 d8ef1e1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue May 18 10:52:04 2010 -0500
+
+    Merge branch 'unicode' of git://github.com/catlee/buildbot
+    
+    * 'unicode' of git://github.com/catlee/buildbot:
+      Add documentation for unicode_encoding setting for slave's buildbot.tac
+      Do command arg encoding on the slave
+
+commit b3a8a56cbd8e5d0c7924f9992b781a5ed0eac084
+Merge: 97499b1 2045dbb
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue May 18 10:51:12 2010 -0500
+
+    Merge branch 'v5' of git://github.com/catlee/buildbot
+    
+    * 'v5' of git://github.com/catlee/buildbot:
+      Create v5 schema that adds a bunch of indexes
+    
+    Fixes #829 (hopefully)
+
+commit ce0a55edf3b829d58684c930c0e6c31658e79fcb
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue May 18 11:42:16 2010 -0400
+
+    Calculate 'now' for scheduler loop ahead of time.
+    
+    When the master is over-loaded, it can take long enough between calling
+    the schedulers and evaluating the results that the result from the
+    scheduler's run() method is in the past.
+    
+    By calculating 'now' before running the scheduler's run method, the
+    assertion that the scheduler's result is > 'now' should be true for
+    well-behaved schedulers.
+
+commit 2045dbbba8ab158f172c98b14838675f52b98802
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 17 13:26:45 2010 -0400
+
+    Create v5 schema that adds a bunch of indexes
+
+commit d8ef1e1ae30325cff07f9561f93726151274a3ef
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 17 18:30:39 2010 -0400
+
+    Add documentation for unicode_encoding setting for slave's buildbot.tac
+
+commit 25e9db9935aa91657de47b99148b17039601e72c
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 17 13:20:24 2010 -0400
+
+    Do command arg encoding on the slave
+
+commit 97499b10166862a2c7521ee45dc0ef5be2cffd52
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri May 14 14:46:17 2010 -0500
+
+    include UPGRADING in the manifest
+
+commit 078f19926622b45962017c3b6647e5b6269418d3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri May 14 14:43:15 2010 -0500
+
+    be careful to close the db connection after performing SchemaManager operations
+
+commit 8081d4077aa2e390d0a4f3783359a20c0db7e8c9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri May 14 14:42:49 2010 -0500
+
+    upgrade quietly
+
+commit a675abc6533806164229a9ca2d3730365a4b86a1
+Merge: dd1df2c 0d41789
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri May 14 13:32:24 2010 -0500
+
+    Merge branch 'fixencoding'
+    
+    * fixencoding:
+      remove assertions
+
+commit 0d41789ffe16e0fc7c48271dc114d16f66f9f219
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu May 13 21:22:49 2010 -0500
+
+    remove assertions
+
+commit dd1df2c06c98ff82af91343f4642da9f500d2d47
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 12 21:46:21 2010 -0500
+
+    remove 'will this work?' comments - refs #829
+
+commit 7aee3fe1b561e9d5f11ee4527c2c63a9aae7d756
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 12 21:31:05 2010 -0500
+
+    add an 'else' to a template inline conditional
+
+commit b7aa5647a21020d819d7ddeda097198a95e53ade
+Merge: 12b0be6 5afc64e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 12 20:02:57 2010 -0500
+
+    Merge branch 'ticket820'
+    
+    * ticket820:
+      migrate recode_changes into OldChangeManager, don't convert to string
+
+commit 5afc64e5f5b9cdcc75d541a052272138d5e86c6d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 12 20:02:02 2010 -0500
+
+    migrate recode_changes into OldChangeManager, don't convert to string
+    
+    This fixes some test failures, and avoids trying to shell out to the
+    contrib script, which I doubt will work well in all situations.
+
+commit 12b0be6392c139e5a0dbdf9c22a30095400b0882
+Merge: bcd0353 fbdfb87
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 12 19:35:02 2010 -0500
+
+    Merge branch 'ticket820'
+    
+    * ticket820:
+      add docs for potential encoding problems
+      tweaks to contrib script
+      Get fix_changes_pickle_encoding script working and tested...sort of
+      Improve exception on unicode decode failure
+      Raise an exception if the db can't store unicode data
+      formatting
+      Test regular ascii data
+      Test that trying to import non-utf8 data will raise exceptions
+      Make remove_none return u"" for None, and not replace data
+      Reduce length of scheduler name, class_name columns so they fit with
+      Decode strings from change objects as if they're utf-8.
+
+commit fbdfb878bf46aed182f6e35890bdd8e90b4274a0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed May 12 12:46:02 2010 -0500
+
+    add docs for potential encoding problems
+
+commit bcd03530858742354891449beb3ce44eaa77b370
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue May 11 11:47:15 2010 -0400
+
+    Make sure the loop delay is at least 0.
+    
+    Fixes: #826.
+
+commit 0c8442f65fb98b42d1ebdf761b7b2bf942c2bc34
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon May 10 19:04:23 2010 -0500
+
+    tweaks to contrib script
+
+commit 19c9fa36825bb94143bce28b3d2b2c430ce93957
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 18:49:43 2010 -0400
+
+    Get fix_changes_pickle_encoding script working and tested...sort of
+
+commit 684ba07fb4523ebf99e9ee488eb5a00dcce04cce
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 15:42:28 2010 -0400
+
+    Improve exception on unicode decode failure
+
+commit a6839b6f07483bb492d7fbe840e914fca124cd03
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 15:35:59 2010 -0400
+
+    Raise an exception if the db can't store unicode data
+
+commit 09af42b12f25f18cef10484e59bf49a8fc7039bd
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 15:28:01 2010 -0400
+
+    formatting
+
+commit 363308579212e0f6bc26171b18c1d1bdde933adf
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 15:24:27 2010 -0400
+
+    Test regular ascii data
+
+commit db1e51818c87f2e4716ad589e0e6fa5fc0f8cf7c
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 15:21:54 2010 -0400
+
+    Test that trying to import non-utf8 data will raise exceptions
+
+commit 280d785f8763a0b565a05d221ecf461891394cfe
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 15:20:06 2010 -0400
+
+    Make remove_none return u"" for None, and not replace data
+
+commit 4d83d45a8f15a9299b33d8b029edcfbd0ad97005
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 10 15:11:33 2010 -0400
+
+    Reduce length of scheduler name, class_name columns so they fit with
+    utf8 mysql collations.
+    
+    Detect non-unicode friendly database connection on v1 upgrade, and
+    complain if it loses information.
+
+commit 57125af4734505021b20b0faceaba92e8e66455d
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu May 6 22:13:21 2010 -0400
+
+    Decode strings from change objects as if they're utf-8.
+    
+    Fixes: #820
+
+commit c7fb643243d7034306ed97150db99e65d8fb818b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri May 7 17:35:04 2010 -0500
+
+    Document MailNotifier's change mode
+    
+    patch by fgsch
+    fixes #794
+
+commit 548e259d2f58a38eb62cf68073e27573f74e70f4
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri May 7 17:33:37 2010 -0500
+
+    Remove unnecessary prints in mail.py
+    
+    patch by fgsch
+    fixes #793
+
+commit cec2bf69ddd4752040b58c9d5f7d1b73d5c5a26c
+Merge: eeb57f2 30c3a64
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri May 7 10:11:40 2010 -0500
+
+    Merge branch 'NightlySchedFixes' of git://github.com/garetharmstronghp/buildbot
+    
+    * 'NightlySchedFixes' of git://github.com/garetharmstronghp/buildbot:
+      Fix Nightly Scheduler docstring - specify Scheduler arguments by name
+      Don't fire Nightly scheduler when onlyIfChanged is set and no changes on branch
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 30c3a64f6fc72a49ad3393268dea09f3d2ee2485
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Fri May 7 13:32:44 2010 +0200
+
+    Fix Nightly Scheduler docstring - specify Scheduler arguments by name
+
+commit c40b188112a55b7a911481dd9d562752bd6f0a07
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Fri May 7 13:07:27 2010 +0200
+
+    Don't fire Nightly scheduler when onlyIfChanged is set and no changes on branch
+
+commit eeb57f2b4e2ccc7413308abd9378fff0bb12dc49
+Merge: f1f5969 b7abcfb
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu May 6 16:45:05 2010 -0500
+
+    Merge branch 'NightlySchedFixes' of git://github.com/garetharmstronghp/buildbot
+    
+    * 'NightlySchedFixes' of git://github.com/garetharmstronghp/buildbot:
+      Fixes #823 - Nightly scheduler is not tracking changes when onlyIfChanged is True
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit f1f596956136e3847638075665001272dc740123
+Merge: c8c0a9b 450221c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu May 6 16:42:26 2010 -0500
+
+    Merge branch 'bug821' of git://github.com/benallard/buildbot
+    
+    * 'bug821' of git://github.com/benallard/buildbot:
+      P4: p4base was not a member of the class (fix #821)
+      Fix typo in schema comments
+
+commit b7abcfb7f464cd811f482be1e021e264b23258a9
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Thu May 6 17:21:00 2010 +0200
+
+    Fixes #823 - Nightly scheduler is not tracking changes when onlyIfChanged is True
+
+commit 450221cf724271f45b1606ee9b782b2c149ca798
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Wed May 5 10:42:13 2010 +0200
+
+    P4: p4base was not a member of the class (fix #821)
+
+commit 426d26e57d5ef74cc6b4a4429735b4dd98edd0cb
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon May 3 18:44:41 2010 -0400
+
+    Fix typo in schema comments
+
+commit c8c0a9b5fee68a5961bdc5ed440defc4f87b013f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon May 3 12:08:57 2010 -0500
+
+    add a default value for scheduler state 'last_processed' - fixes #816
+
+commit 568897eacea8b94d15b53327b1ab09125d911385
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun May 2 22:26:38 2010 -0500
+
+    add explicit upgrading notes (fixes #810)
+
+commit 828329f9b66d56d10a39570a2b47562a1593733a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat May 1 17:36:26 2010 -0500
+
+    Nightly will now actually run on the second and subsequent nights
+
+commit cb6a453cd796e8319abe2a0d1c3486e82f6d964c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat May 1 17:19:29 2010 -0500
+
+    Nightly should always classify changes, so it keeps last_processed up to date
+
+commit dabfc8c906661079bf87ca424ab9d98c4d54a355
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat May 1 16:44:43 2010 -0500
+
+    don't capitalize build property names
+
+commit 380d4d947efed9e74fcf5e5911222f16a2643842
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat May 1 15:38:55 2010 -0500
+
+    do not use twisted.python.monkey, which is not in tw-2.5.0
+    
+    This module wasn't actually used in test_util_loop, anyway.  However,
+    the test module does use TestCase.patch, which doesn't exist on older
+    Twisteds.  So this commit monkeypatches that method to just skip tests
+    that use it on older Twisteds.  Fixes #811
+
+commit 9e427ad5d9c86732cdb007d3aaeb1f680179e057
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat May 1 15:23:18 2010 -0500
+
+    Directory listings require Twisted >= 9.0.0 (fixes #812)
+
+commit 39c1a7411438fa15be186a4cda0b4216fb230dfe
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 29 13:19:27 2010 -0500
+
+    add news about mercurial revision ids
+
+commit caf99ac2a2a4798d9cf21160c415ce313b074554
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 29 13:17:48 2010 -0500
+
+    remove spurious file
+
+commit 9d2fd33cc9f40da63a31c808ae33bba1ff18a575
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 29 11:56:30 2010 -0500
+
+    add buildbot.test.util
+
+commit 54b7fc6c25734ae706632aa398192c175265550c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 29 11:45:34 2010 -0500
+
+    update NEWS
+
+commit 8b6b1b30d50c9694bf6f9447c025e7d4ce1d4cb6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Apr 28 15:53:53 2010 -0500
+
+    don't use computeRepositoryURL in __init__, as self.build doesn't exist yet
+
+commit e908b5621dc9ce2bfb7b2fcfb5b4ed8eef1d2e7b
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Apr 28 13:48:45 2010 -0700
+
+    status.builder.BuildRequestStatus: don't use .source, it doesn't exist anymore
+
+commit 61a8a5e1d3023988fbdc686da34bd99017b8f5a7
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Apr 28 13:30:47 2010 -0700
+
+    DB.get_pending_brids_for_builder(): oops, return brids, not bsids.
+    
+    Thanks to Chris Atlee for the catch.
+
+commit 198f2ed83fc83ad13166973e6329c41d733b9f2e
+Merge: 6308878 9e4632c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Apr 28 11:30:27 2010 -0500
+
+    Merge branch 'misc-fixes' of git://github.com/warner/buildbot
+    
+    * 'misc-fixes' of git://github.com/warner/buildbot:
+      fix web handling of getPendingBuilds() and cancel()
+      implement IBuildRequestControl.cancel(), add unit tests for cancel()
+      fixes for IBuilderStatus: getPendingBuilds, subscribe/unsubscribe handles for requestSubmitted and requestCancelled, and IStatus's buildSetSubmitted notification
+    
+    Fixes #730
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 63088787973244c5f7e89e930e6d623292986aa6
+Merge: 09d2749 244fe34
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Apr 27 23:48:24 2010 -0500
+
+    Merge branch 'rssfixup' of git://github.com/marcmengel/buildbot
+    
+    * 'rssfixup' of git://github.com/marcmengel/buildbot:
+      have /rss print all builds, unless you add failures_only=true
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 09d2749e03410d9d59822c7c8ebd562c24b8c632
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Apr 27 18:50:20 2010 -0500
+
+    fix import errors in 2.5.1 .. hopefully
+
+commit ddda1321622a515f08813960d2c3bc78a6094865
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Apr 27 18:27:00 2010 -0500
+
+    fix relative import
+
+commit 244fe343ba810907db018d08ff0f97e6d2d2093a
+Author: Marc Mengel <mengel@fnal.gov>
+Date:   Tue Apr 27 15:32:25 2010 -0500
+
+    have /rss print all builds, unless you add failures_only=true
+
+commit 40e48273cea0a6baa2a6f2fd4523d7e87ae02573
+Merge: 4b9e335 8fbf2fa
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Apr 27 11:39:03 2010 -0500
+
+    Merge branch 'master' of git://github.com/exarkun/buildbot
+    
+    * 'master' of git://github.com/exarkun/buildbot:
+      Update maintenance section to reflect some features that exist now.
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 8fbf2facd62aaeed8a64a519bfa41fa20853f141
+Author: Jean-Paul Calderone <exarkun@twistedmatrix.com>
+Date:   Tue Apr 27 12:10:04 2010 -0400
+
+    Update maintenance section to reflect some features that exist now.
+
+commit 4b9e3350d7f017a586c100139a967d68612f6196
+Merge: ed9740d 8d8e6a0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Apr 27 10:54:28 2010 -0500
+
+    Merge branch 'master' of git://github.com/jonnyro/buildbot
+    
+    * 'master' of git://github.com/jonnyro/buildbot:
+      Fix typo in schedulers documentation.
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 8d8e6a037e75bd39cc1127de07d62447745e4450
+Author: Jonathan S. Romero <jonnyro@disti-vm-jromero-ubuntu-workstation.(none)>
+Date:   Tue Apr 27 11:21:19 2010 -0400
+
+    Fix typo in schedulers documentation.
+
+commit 9e4632c67839fc73e91f757ced06b4c5c134b523
+Author: Brian Warner <warner@lothar.com>
+Date:   Mon Apr 26 18:38:29 2010 -0700
+
+    fix web handling of getPendingBuilds() and cancel()
+
+commit 9fb878f7e2eeb5faa5ab1e4e35dd5c7c84b1531b
+Author: Brian Warner <warner@lothar.com>
+Date:   Mon Apr 26 17:51:48 2010 -0700
+
+    implement IBuildRequestControl.cancel(), add unit tests for cancel()
+    and IBuilderStatus.getPendingBuilds()/subscribe()/unsubscribe()
+
+commit 821dc06b58c81c4c7030d4d3938cfb35d2e0c157
+Author: Brian Warner <warner@mozilla.com>
+Date:   Tue Apr 6 13:02:20 2010 -0700
+
+    fixes for IBuilderStatus: getPendingBuilds, subscribe/unsubscribe handles for requestSubmitted and requestCancelled, and IStatus's buildSetSubmitted notification
+
+commit ed9740d6aba800e4edfc7e028b1c4cf622ced562
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Apr 26 16:49:50 2010 -0500
+
+    add import line for SetProperty
+
+commit ee560deab9dcb9d03ae7a9d2d1d2178c6fb81b71
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Apr 18 22:27:19 2010 -0500
+
+    If schedulers are missing, Trigger step should fail
+    
+    Fixes #766
+
+commit c876363fe664fb9fa991f91d5b2c672639bd5a88
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Sat Apr 17 11:03:29 2010 -0500
+
+    Allow SVN steps to build with an explicit svnurl
+    
+    This ignores the branch specified by the SourceStamp, and is documented
+    to do so.
+
+commit 5c7224522092be55d4bced2823cc560854e0455f
+Merge: 654e0fd c886262
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 15 20:50:47 2010 -0500
+
+    Merge branch 'dj_master' of git://github.com/maruel/buildbot
+    
+    * 'dj_master' of git://github.com/maruel/buildbot:
+      Remove waterLevel since it was causing more misbehaviors than improvements.
+      Update test_status_push results expectations according to the recent modification in various asDict() functions
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 654e0fdd67423165213be90c5ac9c354c2d5d654
+Merge: 5893e72 0d36a29
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 15 20:50:09 2010 -0500
+
+    Merge branch 'dj_buildbot-0.8.0' of git://github.com/maruel/buildbot
+    
+    * 'dj_buildbot-0.8.0' of git://github.com/maruel/buildbot:
+      Remove waterLevel since it was causing more misbehaviors than improvements.
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 0d36a296b4b411bcca2cde2f7df98992171b5e5a
+Author: Marc-Antoine Ruel <maruel@chromium.org>
+Date:   Thu Apr 15 19:55:11 2010 -0400
+
+    Remove waterLevel since it was causing more misbehaviors than improvements.
+
+commit c886262bc8d9faadc126819d344346ee50d761aa
+Author: Marc-Antoine Ruel <maruel@chromium.org>
+Date:   Thu Apr 15 19:55:11 2010 -0400
+
+    Remove waterLevel since it was causing more misbehaviors than improvements.
+
+commit b2535ba15a49bbe365c5e4466ac67f2a8a9b7a7e
+Author: Marc-Antoine Ruel <maruel@chromium.org>
+Date:   Thu Apr 15 19:05:33 2010 -0400
+
+    Update test_status_push results expectations according to the recent modification in various asDict() functions
+
+commit 5893e7283e80fd90127a760b022d71ff361c4441
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Apr 14 10:14:30 2010 -0500
+
+    Be explicit about a missing ChangeFilter
+    
+    Fixes #799
+
+commit 493fd57819f0a0474bdee51da844285b2e83e10f
+Merge: 6204700 d41b7ac
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Apr 12 10:09:42 2010 -0500
+
+    Merge branch 'master' of git://github.com/jollyroger/buildbot
+    
+    * 'master' of git://github.com/jollyroger/buildbot:
+      Fixing typo
+
+commit d41b7ace1497b41f068b7b9520c626dc03c48537
+Author: jollyroger <andriysenkovych@gmail.com>
+Date:   Mon Apr 12 18:01:38 2010 +0300
+
+    Fixing typo
+
+commit 6204700029cecca63f523ed6ef2a6931fc2b263a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Apr 11 14:56:50 2010 -0500
+
+    use no quotes or path components for bg_gradient.jpg
+
+commit 263133603a93f25a9ec5c2d27ecc4b63594f2275
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Apr 11 11:21:44 2010 -0500
+
+    fix texinfo bugs
+
+commit 8d8aa437d2928c74dd82f738dd71e7176f5032de
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Sun Apr 11 17:18:41 2010 +0200
+
+    add doc for dynamic workdirs on factories
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit d454b81852eae9adf15ccf4611d64ed286047e42
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Thu Apr 8 18:56:52 2010 +0200
+
+    Allow workdir be computed dynamically based on sourcestamp.
+    
+    The patch allows one to set workdir on BuildFactory to a
+    callable which receives the sourcestamp to be built and is
+    supposed to return a workdir directory.
+    
+    A reason to do so is having multiple repositories submitting
+    changes to a single buildbot, where one wants to allow for
+    workdir per repository.
+    
+    You can achieve that like so:
+    
+    import hashlib
+    
+    build_factory = factory.BuildFactory()
+    build_factory.workdir = lambda source_stamp: hashlib.md5(source_stamp.repository).hexdigest()[:8]
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 0b79486679ab6eedaf7f959563bdad9be4a7a236
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Thu Apr 8 20:13:44 2010 +0200
+
+    fix: background image relative to css
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit cf37d94bd6de799e38cfaf63b4eea687d885bff7
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Apr 11 03:01:05 2010 +0200
+
+    Fix buildbot.bat to work in virtualenv too (fixes #788)
+
+commit 487bc0b8a197d2c0d77a90f5bcb23da662c58e85
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Apr 10 18:35:29 2010 -0500
+
+    add project/repo conceptual docs
+    
+    fixes #782
+
+commit 91a684b9f647972d395b394da4250d52aa88f906
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Apr 10 12:08:36 2010 -0500
+
+    Add documentation for all XMLRPC methods.
+    
+    This is based on reading the code and may be inaccurate.  Fixes #784.
+
+commit 19208e621acff19c598d2579ca7264fd1ec6ae2b
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Fri Apr 9 21:41:04 2010 +0200
+
+    on windows, use a *.EXE command, if available
+    
+    Under windows, if there is more than one executable "thing"
+    that matches (e.g. *.bat, *.cmd and *.exe), we not just use
+    the first in alphabet (*.bat/*.cmd) if there is a *.exe.
+    
+    e.g. under MSysGit/Windows, there is both a git.cmd and a
+    git.exe on path, but we want the git.exe, since the git.cmd
+    does not seem to work properly with regard to errors raised
+    and catched in buildbot slave command (vcs.py). The git.cmd
+    will always appear to return without error. But the Git()
+    sourcing step depends on errors for fallbacks.
+
+commit 30714451568bf1f2284b8edab6874f3ebc59a415
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Apr 9 17:51:31 2010 -0500
+
+    Move TowardBetterBuildbotTests to the texinfo documentation.
+    
+    Fixes #785
+
+commit ac23ac8715da349d947d7df32cf5beb718cb717d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Apr 9 15:25:04 2010 -0500
+
+    add logging on Twisted-2.5.0 regarding no http logging
+
+commit ab80d8167536d294f0e4f836e57e656ec21c63ff
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Thu Apr 8 19:41:12 2010 +0200
+
+    fix: attr. repository, not revision (dup); copy project/repository on merge
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit c249a12b0e4c8ecfbc59b6772f631d72a4660bd3
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Thu Apr 8 17:18:35 2010 +0200
+
+    fix: need str, not unicode for repourl
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 808613acbd3c920de367ec85eb5494edb5dd9351
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Apr 8 12:56:58 2010 -0400
+
+    Log errors from updateAllSlaves, but don't die on them
+    
+    Fixes: #737
+
+commit 78d538ce82312fb554a6c45c68a94d8b87368c3b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 23:44:05 2010 -0500
+
+    fix stupid typo
+    
+    I blame the cold meds
+
+commit ee904f47b8fe3212ef0d2f80b0b4369f1676e5f3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 23:41:18 2010 -0500
+
+    Improve the DatabaseNotReady error message.  Fixes #761.
+
+commit e0947b88903d3d8b8a38cf1a54459e7bd70050dd
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 23:32:05 2010 -0500
+
+    don't use http logs on Twisted-2.5.0
+    
+    Just fall back to the usual logging mechanism.  Verified on a F7 system.  Fixes #780.
+
+commit 45cc7315d67f6e5bc5df0bf98f1ae1804b48c999
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 22:49:05 2010 -0500
+
+    fix cxt.num_building in builders display
+
+commit fe968e0491288f4b7bb6f23ba8b8831726c2b3fd
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 19:08:19 2010 -0500
+
+    catch requests for avatar 'change' and give a reasonable error
+    
+    fixes #772
+
+commit fc203f6b219a9ce9cc60649761baeb3d6644e662
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 19:07:36 2010 -0500
+
+    fix log rotating to not use %i, which doesn't like None
+
+commit 6064f76167ea5c90ce74381ab8fd1559ed55b26e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 15:25:51 2010 -0500
+
+    Update interlock documentation (refs #692)
+
+commit e076f7619489731a77e1d09727a4cdd0292ad0a4
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Apr 8 22:27:15 2010 +0200
+
+    Fix typo in docstring
+
+commit 613638128b138187c5a539fee26c7f840354b2b8
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Apr 8 22:20:20 2010 +0200
+
+    Inherit log-rotation parameters from buildbot.tac and allow customization in WebStatus constructor (fixes #781)
+
+commit 3b09726708c51e60825f36f88f6ebde98d220a07
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 13:05:38 2010 -0500
+
+    Add extra_options and export_options to CVS
+    
+    This allows you to flexibly add extra options for both 'checkout' and
+    'export', or both.  Fixes #676.
+
+commit 69f3a0ecdf354242ca089a5e26e31d47a65abb76
+Merge: 4d36b1c 673369b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 12:37:03 2010 -0500
+
+    Merge branch 'master' of git://github.com/jaysoffian/buildbot
+    
+    * 'master' of git://github.com/jaysoffian/buildbot:
+      status.words.py: Make Contact a proper IStatusReceiver
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit 673369b830534d84d3e0708970c52bb72a124d81
+Author: Jay Soffian <jaysoffian@gmail.com>
+Date:   Thu Apr 8 13:18:00 2010 -0400
+
+    status.words.py: Make Contact a proper IStatusReceiver
+    
+    Since Contact is an IStatusReceiver, it (and its subclasses) should
+    declare that they implement IStatusReceiver. As well, make Contact
+    inherit from base.StatusReceiver so that the unimplemented
+    IStatusReceiver methods do not need to be stubbed out.
+    
+    Add a note to developer.texinfo saying that this pattern should[*] be
+    followed for all IStatusReceivers.
+    
+    [*] "should" instead of "must" as of 9c2bf24 (make notifications a bit
+    more resilient to missing methods, 2010-02-13) and c79f09b (check for
+    notification methods before calling them, 2010-02-15)
+
+commit 4d36b1cabeea0a52fc69477fca08a16de7ed8d65
+Merge: a9ab23b b0dfe34
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Apr 8 11:23:25 2010 -0500
+
+    Merge branch 'master' of git://github.com/jaysoffian/buildbot
+    
+    * 'master' of git://github.com/jaysoffian/buildbot:
+      IRCContact: add missing StatusReceiver methods
+    
+    Signed-off-by: Dustin J. Mitchell <dustin@zmanda.com>
+
+commit b0dfe34ff1f96a6032b869d8eac56497650d88a7
+Author: Jay Soffian <jaysoffian@gmail.com>
+Date:   Wed Apr 7 23:29:59 2010 -0400
+
+    IRCContact: add missing StatusReceiver methods
+    
+    Add do-nothing methods for changeAdded, slaveConnected and slaveDisconnected.
+
+commit a9ab23bfaa7fa91e04f4f1c15451c1708777a90b
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Apr 6 21:52:07 2010 +0200
+
+    Add documentation about Source steps using the Change repository property
+
+commit 56fba946e7aad71100e15bf029c978d9e2221d99
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Apr 6 21:09:38 2010 +0200
+
+    Add a unittest for repourl in Source
+
+commit 1a386f2c454eec613d977928923c230a506594a8
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Apr 6 20:41:34 2010 +0200
+
+    Take the repository property from the sourcestamp into acount for the Source step
+
+commit c5835f452877b2c42ac81fbc2bbb4274f60b2f88
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Apr 1 15:08:40 2010 -0400
+
+    Created v4 schema that uses auto incrementing columns for ids
+
+commit 2fa3b3ba7b12fdce746b09b1dcd110e42a4459cf
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 14:34:50 2010 +0200
+
+    Replace Change's html_dict() with asDict() (see #704)
+
+commit b0a9da216279fa3d60e968f744f576e731b5bc20
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 14:28:22 2010 +0200
+
+    Replace SourceStamp's getHTMLDict() with asDict() (see #704)
+
+commit b1f2805f4498190cd80d302bddf64d7ea985483d
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 12:38:32 2010 +0200
+
+    Remove some trailing blanks
+
+commit 64ef8f15ebe141e4c48201eb860b92843e5a72d1
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 12:38:19 2010 +0200
+
+    Add separate http-log with fixed rotation parameters (fixes #684)
+
+commit d4588d21bab07876b0033f59d093396f60290216
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 12:08:25 2010 +0200
+
+    Add default favicon.ico file - looks good & reduces web requests
+
+commit 60b285b6efa45e8dbdaea542a64b354207aecae9
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 11:13:28 2010 +0200
+
+    Fix Mercurial repo URL comparison for clobber (fixes #694)
+
+commit ad4a73471d2f3c5147ef1c4bc5717c7919502123
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 11:12:43 2010 +0200
+
+    Avoid infinite recursion in Mercurial step (see #694)
+
+commit 86a9b36f24942aa5bc4ede6ff6064bf2c9f4696f
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 10:47:30 2010 +0200
+
+    Fix grid view when categories set + install null translations for jinja (fixes #771)
+
+commit 2d1881434f0d38f7344d381f619bbd2590ba1760
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 10:33:22 2010 +0200
+
+    Add missing escape of title attribute in waterfall change box (fixes #773)
+
+commit ab3fa2c6f5f35e3ad7440b58f69b849568275550
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Apr 5 10:31:18 2010 +0200
+
+    Fix changecomment link filter when no project is set (fixes #774)
+
+commit 64fd556b4293d3dbe7adea9129c6d057dcaf459e
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Apr 1 16:53:43 2010 -0400
+
+    Fix for broken waterfall categories.
+    
+    Fixes: #770
+
+commit fd9b9bb62d959b40c22eec9f744fa9bc956f6f31
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Apr 1 14:57:28 2010 -0400
+
+    Updating tables.sql with class_name
+
+commit bad8208913f490437b83700269f790949abd6f3b
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Apr 1 14:54:17 2010 -0400
+
+    Handle an empty changes_nextid table
+
+commit 0b112c235f736aa4971ef911091d2e8951187964
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Apr 1 10:47:20 2010 -0400
+
+    Clarify error message when there isn't 1 row in the version table.
+
+commit 7aec72899459e79a446e2fd2f79d35c9381c4750
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 31 18:11:46 2010 -0500
+
+    fix SourceStamp's patch type-checking to ensure it's a tuple, not a string
+
+commit fa69e79556d3f1352f55f12205828103a824205f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 31 17:18:54 2010 -0500
+
+    fix typo (revlink instead of c.revlink)
+
+commit 792c47eac0eda7f08085b94adab82480bf187f80
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 31 16:54:51 2010 -0500
+
+    convert sourcestamp's patch level to int if necessary
+
+commit b583a39d8c2003e9cc04e1fe5c896ac8d0da4698
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Mar 31 23:02:02 2010 +0200
+
+    Document URL decorating options in WebStatus
+
+commit 20a142fe98411b5f89e184933e2f46a0db651f46
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Mar 31 22:46:57 2010 +0200
+
+    WebStatus: remove jinja2.Markup assert from revlink (not stable on py2.4)
+
+commit 61c23b7ced4e08fea9828d3275c299ebb93999ae
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Mar 31 22:19:46 2010 +0200
+
+    WebStatus: Fix py2.6 specifix syntax in status/web/base.py
+
+commit 9b4deb8cc1be6f5b44eca6f092283d1b40a4f1a6
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Mar 31 22:15:25 2010 +0200
+
+    WebStatus: Fix unittest (corect arg order in revlink callable)
+
+commit 730fff1492269ffed34371d64432445b9c8e2e96
+Merge: b466c5d cc7c044
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Mar 31 22:04:46 2010 +0200
+
+    Merge remote branch 'djmitche/master'
+    
+    Conflicts:
+    	buildbot/scripts/startup.py
+    	buildbot/status/web/templates/change.html
+
+commit b466c5d4bccbe13ea2d6d94169d452526a3404bc
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Mar 31 22:01:52 2010 +0200
+
+    WebStatus: Add support for project and repository in changecommentlink/revlink
+    
+     * These WebStatus args can now be callables, dicts or (as before) a single string/tuple
+     * Added projectlink/repolink that adds URLs to repo/project main pages
+     * Changed jinja change_macro to take a change as arg (cleaner code)
+     * Changed some support classes in console to take a single build/sourcestamp arg instead of picking every necessary variable
+     * The revlink/shortrev/changecomment filters now take a parameter, the repo or project to which the revision/comment belongs.
+     * Shorten all revs to 40 chars in html rather than in python.
+     * Add unit test for jinja link filters
+    
+    Comments belong to projects as they usually refer to ticket ids. So project == ticket db.
+
+commit cc7c044d8d983cae87b2433c509489342fae4774
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Wed Mar 31 12:57:48 2010 +0200
+
+    add --repository option to Git post-receive hook; log repository for new changes in manager; show repository for changes in web status page
+
+commit 5ae87fb3df640e69e35b1ee5bef290b23eb6fab4
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Tue Mar 30 22:11:19 2010 +0200
+
+    fix: robust handling of locale.getdefaultlocale() for systems where this function may return (None, None) .. like e.g. Solaris 10.
+
+commit 85cb6d778aa1b50347468c938d2386316c3ed479
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed Mar 31 14:52:44 2010 -0400
+
+    Fix how change properties get loaded from the database.
+
+commit ba4e0e1bef51b8ac6875fdfd3fef568f672f9ec4
+Merge: bc74184 3aeccfc
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 30 14:42:07 2010 -0500
+
+    Merge branch 'buildbot-git' of git://github.com/oberstet/buildbot
+    
+    * 'buildbot-git' of git://github.com/oberstet/buildbot:
+      fix: timezone name is returned in local encoding, but unicode converter assumes ascii by default (fixes ''exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte'' problems. solution: provide locale encoding to unicode converter.
+
+commit 3aeccfc87ea5f8a532e990ed7f558f8f0b5f9ab5
+Author: Tobias Oberstein <tobias.oberstein@tavendo.de>
+Date:   Tue Mar 30 17:42:46 2010 +0200
+
+    fix: timezone name is returned in local encoding, but unicode converter assumes ascii by default (fixes ''exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte'' problems. solution: provide locale encoding to unicode converter.
+
+commit bc74184251f0fa7c4d66fd4c6399b07c55242a5d
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Fri Mar 26 21:45:26 2010 -0400
+
+    Include scheduler class name in database
+    
+    This requires a schema bump, so this implements the v3 schema and
+    upgrade code.  Old schedulers will have a class_name set to '', and the
+    first scheduler to start up with the same name will claim the old row,
+    setting the class_name to the scheduler's class.
+    
+    Fixes: #732
+
+commit 6d534c354e5a10cf9a9a4f62c082ce2ef67926f4
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 30 07:07:10 2010 -0400
+
+    max_idle default should be 60 for sync. MySQL connections
+
+commit d6507628573e3059db1ab6fa8beaef5b43ddf97c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 29 10:21:55 2010 -0500
+
+    Re-merge fixed builder properties patch from Benoit Allard
+    
+    fixes #756
+
+commit ad5a3b6419e1717b47d6a06401b04e6f3f132446
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 29 11:30:03 2010 -0500
+
+    use our own private None
+    
+    branch=None does not mean "None", it means "default", so we have to
+    use the 'None' defined in buildbot.util.
+
+commit cda608dc76d67c3a7af689306220e93cc9e73d71
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 29 11:27:29 2010 -0500
+
+    allow hgbuildbot to work properly with branchtype=dirname but where cwd is not the repo
+
+commit 95153373098afdf900834386813487de19eb66e3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Mar 28 21:46:28 2010 -0500
+
+    re-add AnyBranchScheduler consructor arg 'branches"
+    
+    This was (accidentally?) removed in the schedulerdb merge (fixes #764)
+
+commit ebfe1b605c840700c8b8f74adf8814624f6ad664
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Mar 28 16:48:01 2010 -0500
+
+    (fixes #713) make triggering a stopped Loop a warnable offence
+
+commit 670d3eb44258e8be1c5c231a680e66ae5ff82ca5
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Mar 25 18:39:57 2010 -0400
+
+    Make synchronous connections obey max_idle as well
+
+commit d6d8554819b5877f61b6b68007134f8e8e8ddcac
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed Mar 24 12:25:39 2010 -0400
+
+    Work around the fact that twisted 2.5 doesn't have reactor.seconds.
+    
+    Add an optional _reactor argument to util.now.  If set, and if _reactor
+    has a "seconds" attribute, it will be used to determine the current
+    time.  Otherwise time.time() is used.
+    
+    Update slave commands and loop to use util.now(self._reactor) instead of
+    self._reactor.seconds() to determine the current time.
+    
+    Fixes: #759
+
+commit e0d4533f962a51c60456a5a4fd1a5b4d6dee3c1d
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 23 12:38:46 2010 -0400
+
+    Adding internal flag for stop build.
+    
+    This actually stops the build when the Stop Build button is pressed on
+    the web page.  No further steps are run.
+    
+    Fixes: #706
+
+commit 2b52d5bd7172fe24def5f0ddf01065ae44e6bd13
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 24 00:12:14 2010 -0500
+
+    whitespace fixes
+
+commit 6dd94bad8ba4bab07e225cb68ad8a0d8f98b8945
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 24 00:08:32 2010 -0500
+
+    document no_builders (fixes #743)
+
+commit 6f05b86870a791877ae1ee70c2aa8691971478c9
+Author: Karl Norby <karl.norby@gmail.com>
+Date:   Tue Mar 23 23:17:58 2010 -0500
+
+    Make the buildslaves display optional in the /slaves display
+    
+    Refs #743; still needs docs
+
+commit 310ed1e7ac3c179a40ae4411cb931999c4a0c631
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 23 15:26:43 2010 -0500
+
+    Revert "Merge branch 'builderprops' of git://github.com/benallard/buildbot"
+    
+    This reverts commit 4d10c2b3464a1b4e655185c4eff37bdf2290e9fd, reversing
+    changes made to 4ac1585c878a7cffab4c7cd7115dbdd93f3c0ed9.
+
+commit a97e11119a029de9297960079a6b3e2bb0757d2f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 23 15:01:24 2010 -0500
+
+    don't import schema globally, since it ends up pulling in a reactor; fixes #754
+
+commit 27dbaf5d302e608554a360c436d86fb68dd86692
+Merge: db68b58 0f43459
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 23 14:39:26 2010 -0500
+
+    Merge branch 'env' of git://github.com/benallard/buildbot
+    
+    * 'env' of git://github.com/benallard/buildbot:
+      Avoid to copy twice the environment
+
+commit 0f43459457c77664be5615cbf7ea38dadff88122
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 23 17:54:30 2010 +0100
+
+    Avoid to copy twice the environment
+
+commit db68b584d1876b67bb05b8a715006b00774e5d25
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 16 11:13:45 2010 -0400
+
+    Adding multimaster support
+    
+    Skip checks that schedulers are configured with proper builders if
+    multiMaster is set.
+    
+    Add db_poll_interval as a known configuration key
+    
+    Add docs for multiMaster, db_poll_interval
+    
+    Expire idle connections when using mysql
+
+commit 68edba67a5b68b1b888bdd52615ee9f4bf99fa2c
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 23 10:50:00 2010 -0400
+
+    Adding tests for SetProperty assertions
+
+commit 43523c22aed6f13079a1a2a6f74d3ed06fb6701c
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 23 10:31:51 2010 -0400
+
+    Fix busted assertion in SetProperty
+
+commit 16d24d31cf44600b26b5f30ff0c659633610e852
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 22 22:11:13 2010 -0500
+
+    remove manual specification of the win32 reactor on Windows, since there are lots of other options
+
+commit ffa8946e38d7a7361cc8d3e06cb3fbdbc397495f
+Author: John Ford <jford@mozilla.com>
+Date:   Mon Mar 22 22:07:09 2010 -0500
+
+    disallow both property and extract_fn args to SetProperty
+
+commit 9f73a5ab6d4cd8e5240a30cfdffca959cec063b9
+Merge: 3810328 37d2673
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 22 20:56:54 2010 -0500
+
+    Merge branch 'master' of git://github.com/jpittman/buildbot
+    
+    * 'master' of git://github.com/jpittman/buildbot:
+      Added OptionParser to manage command line options and args.  Also do some argument validation.
+
+commit 381032826c3d7ed039eb1d3c6a96adaed000f4ef
+Merge: 5fee7d0 b119177
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 22 20:52:50 2010 -0500
+
+    Merge branch 'master' of git://github.com/jonnyro/buildbot
+    
+    * whitespace cleanup
+    * 'master' of git://github.com/jonnyro/buildbot:
+      Fix SVNPoller example to use c['change_source'] instead of c['sources'] which was depreciated.
+      Pass always_purge arg along to buildslave in SVN step.
+
+commit 5fee7d05824e6977c2ffa13f796f0084fa048609
+Merge: 9b73282 844d44e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 22 20:50:13 2010 -0500
+
+    Merge branch 'master' of git@github.com:djmitche/buildbot
+    
+    * 'master' of git@github.com:djmitche/buildbot:
+      import sys, since we print to sys.stderr sometimes
+
+commit 9b7328291ae024ae338f53b60da79415ce9d5234
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 22 20:48:26 2010 -0500
+
+    ShellCommand env var expansion was added in 0.8.0
+
+commit 4d10c2b3464a1b4e655185c4eff37bdf2290e9fd
+Merge: 4ac1585 c38df84
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 22 20:47:00 2010 -0500
+
+    Merge branch 'builderprops' of git://github.com/benallard/buildbot
+    
+    * 'builderprops' of git://github.com/benallard/buildbot:
+      fix minor mistakes
+      Add doc about the Properties in Builders
+      Add possibility for builders to setup properties
+
+commit 37d2673e9ab5473d8a1c43528e3cacea7d218ed0
+Author: johnnie pittman <jedi@group6.net>
+Date:   Mon Mar 22 16:34:04 2010 -0700
+
+    Added OptionParser to manage command line options and args.  Also do some argument validation.
+    
+    Added the ability to specify a category for a url polled via a command line flag.
+    
+    Added the ability to specify an arbitrary interval via a command line flag.  This option implies the watch flag.
+    
+    Refactored code significantly to break responsibility of tasks into more functions.
+    
+    Dropped in some error handling.
+
+commit b119177308ac48b0af31e9cd5ac2c3e158af5cd7
+Author: Jonathan S. Romero <jonnyro@disti-vm-jromero-ubuntu-workstation.(none)>
+Date:   Mon Mar 22 14:42:37 2010 -0400
+
+    Fix SVNPoller example to use c['change_source'] instead of c['sources'] which was depreciated.
+
+commit bf2dce71770139e49d4c4e408ac1c54818af3aaa
+Author: Jonathan S. Romero <jonnyro@disti-vm-jromero-ubuntu-workstation.(none)>
+Date:   Mon Mar 22 14:37:18 2010 -0400
+
+    Pass always_purge arg along to buildslave in SVN step.
+
+commit 844d44ed50892b3eb9e89cc5d3e3f07da8e80156
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 16 20:31:06 2010 -0400
+
+    import sys, since we print to sys.stderr sometimes
+
+commit 4ac1585c878a7cffab4c7cd7115dbdd93f3c0ed9
+Merge: b624034 cb82fc6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 17 11:00:12 2010 -0500
+
+    Merge branch 'master' of git://github.com/ctso/buildbot
+    
+    * 'master' of git://github.com/ctso/buildbot:
+      [IRC] Set in_test_harness to avoid NoneType exception.
+      Keeping the master clean for now.
+      Added initial AndroidRepo support.
+
+commit c38df8469368959b21dfb8eb055a26eeb865873a
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Wed Mar 17 08:23:20 2010 +0100
+
+    fix minor mistakes
+
+commit cb82fc6e425c67b23306fbac9146ab3463cf3e7e
+Author: Chris Soyars <ctsoyars@gmail.com>
+Date:   Tue Mar 16 23:39:30 2010 -0400
+
+    [IRC] Set in_test_harness to avoid NoneType exception.
+    
+    in_test_harness is not set in the IRC class but is expected to be set
+    to a boolean value.
+
+commit 81f39afb5c9159bed76d55d851067ac1e8d95e9a
+Author: ctso <ctsoyars@gmail.com>
+Date:   Tue Mar 16 17:53:08 2010 -0400
+
+    Keeping the master clean for now.
+    
+    Revert "Added initial AndroidRepo support."
+    
+    This reverts commit 776b8b2296858b72e9af50755048918a0ce78f8e.
+
+commit 776b8b2296858b72e9af50755048918a0ce78f8e
+Author: ctso <ctsoyars@gmail.com>
+Date:   Tue Mar 16 17:51:20 2010 -0400
+
+    Added initial AndroidRepo support.
+    
+    While the source control system to manage Android builds is called
+    "repo", I felt this name was too generic and may confuse people
+    that are not familiar with Android.
+
+commit 051a9105d6674fe39b22a098f6924369da99ad7b
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 16 22:09:05 2010 +0100
+
+    Add doc about the Properties in Builders
+
+commit 0df7593777d6269bef70a742992748f776b6adc5
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 16 21:48:26 2010 +0100
+
+    Add possibility for builders to setup properties
+
+commit b624034b65c1522d63557e573484b2afeb081090
+Merge: b68b85d 1812070
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 16 14:58:50 2010 -0500
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      fix test (was failing on PYTHONPATH=)
+
+commit 1812070a8167e151a78ef32167baa13c82fdfd7f
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 16 20:46:07 2010 +0100
+
+    fix test (was failing on PYTHONPATH=)
+
+commit 9fd7df87c02c3d7674536ba3edf407ad622df156
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 16 20:28:24 2010 +0100
+
+    Allow ShellCommand to unset environment variables (fix #668)
+
+commit b68b85dfbdf53c18e1ea19bd2f3f9d7f16861397
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 16 20:28:24 2010 +0100
+
+    Allow ShellCommand to unset environment variables (fix #668)
+
+commit 2d96d75b6cddcd4e83cf3dc204b3e936f983e5d4
+Merge: 55738de 1d27f73
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 16 14:02:58 2010 -0500
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      fix docs
+
+commit 1d27f7377617c879372e7498f1003a38d8e51ed0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 16 14:02:06 2010 -0500
+
+    fix docs
+
+commit b422efe24b0fc35d6e1a40c4a2619d078a999367
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 16 19:42:33 2010 +0100
+
+    Add environment variable expansion in ShellCommand
+
+commit 55738ded4b65388e5e436105c20c0a3656642713
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 16 19:42:33 2010 +0100
+
+    Add environment variable expansion in ShellCommand
+
+commit 1ef8a316b64cc0f1d025ac4ff409b5fc7188662b
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 16 11:10:37 2010 -0400
+
+    Fix UTF-8 encoding for python2.4
+
+commit 1f6d6c1f3458f1f56323e4beb8c328d44e128969
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon Mar 15 19:01:34 2010 -0400
+
+    Make sure command strings are utf-8 encoded
+
+commit 3d40e759d5244b09695011eb11220a557fcd4d22
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 15 21:45:29 2010 -0500
+
+    Merge branch 'dj_10_0' of git://github.com/maruel/buildbot
+    
+    * 'dj_10_0' of git://github.com/maruel/buildbot:
+      Add blacklist to StatusPush to not send unneeded events
+
+commit 1b371f041041b99dbf445d1297ae431eb0bd5bdd
+Merge: e8a8dc5 e02bccf
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 15 21:45:29 2010 -0500
+
+    Merge branch 'dj_10_0' of git://github.com/maruel/buildbot
+    
+    * 'dj_10_0' of git://github.com/maruel/buildbot:
+      Add blacklist to StatusPush to not send unneeded events
+
+commit e02bccf4e2403dac871e4f24fda641ee7535c412
+Author: Marc-Antoine Ruel <maruel@chromium.org>
+Date:   Mon Mar 15 20:33:23 2010 -0400
+
+    Add blacklist to StatusPush to not send unneeded events
+    Add maxHttpRequestSize to HttpStatusPush to work around per request limit (AppEngine)
+    Fix a bug in IndexedQueue when a function returns None
+    Add hasPatch in SourceStamp.asDict()
+    
+    Conflicts:
+    
+    	buildbot/broken_test/runs/test_status_push.py
+    	buildbot/broken_test/unit/test_sourcestamp.py
+
+commit 0aa0545be428ce107259b18c507b3e305c8b713d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 15 18:07:50 2010 -0500
+
+    fix Scheduler constructor call in buildbot.broken_test.runs.test_webparts.WebpartsRecursive.testAllPagesValidate
+
+commit e8a8dc5527ae48e3d070f78bbd84eae2cf227341
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 15 18:07:50 2010 -0500
+
+    fix Scheduler constructor call in buildbot.broken_test.runs.test_webparts.WebpartsRecursive.testAllPagesValidate
+
+commit e6e1ce7519fe5ad4e704e1c4c67ec00a3600a834
+Merge: b52d74f d6ec70b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 15 15:22:18 2010 -0500
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      Git: add missing "submodules" documentation.
+      Git: document 'shallow' option.
+      Git: add test for shallow clones.
+      Git: be shallow on an initial clone.
+
+commit d6ec70b3301b09f846b1265f95473284a8b6f2f7
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date:   Sun Mar 14 15:12:06 2010 -0600
+
+    Git: add missing "submodules" documentation.
+
+commit 7d2ccda6386f7f0cce0bc7dc101621ba114e7f1c
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date:   Sun Mar 14 15:10:37 2010 -0600
+
+    Git: document 'shallow' option.
+
+commit 8b6e8c3436762b9d45f6a1f749f180ed2553b44e
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date:   Sun Mar 14 15:10:24 2010 -0600
+
+    Git: add test for shallow clones.
+
+commit 5c269c04ab20ad82b3ca9921d34f7a6a1fe6baf0
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date:   Sun Mar 14 14:51:17 2010 -0600
+
+    Git: be shallow on an initial clone.
+    
+    Only if the user did not specify a particular revision.  Does not
+    seem to effect CPU load, but less data needs to be transferred.
+
+commit b52d74f6eca9474664cabf7c074fc791a186958d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 12:33:55 2010 -0600
+
+    globaly patch Service.startService and stopService with assertions
+    
+    This caused some broken tests to fail; they're now fixed.
+
+commit c77ce56c546ef2af979ae49848a01bd4712d54d9
+Merge: f10dbf5 aec9c8b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 11:24:24 2010 -0600
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      fix empty superclass list
+      fix docs markup
+
+commit aec9c8b9d42069e68e840d47d33cf896d8e1f837
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 11:23:39 2010 -0600
+
+    fix empty superclass list
+
+commit ba2b0c89074b282b595314f2833cf3ba3f7fa4fa
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 11:22:21 2010 -0600
+
+    fix docs markup
+
+commit f10dbf5541f0fbf3641a244be57ac7c213d91aad
+Merge: 7cc0ceb e856585
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 11:11:09 2010 -0600
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      move test to buildbot/test/unit
+      disable some broken_test's
+      use explicit \uXXXX for embedded unicode characters
+      Merge branch 'master' of git://github.com/brasse/buildbot
+      Improve the StatusPush implementation by simplifying the tasks that serverPushCb needs to do.
+      Update gen-reference to exclude broken_test.
+      Add documentation for StatusPush and HttpStatusPush.
+      Add PersistentQueue, StatusPush and HttpStatusPush and their unit tests
+
+commit e85658558d2d083a0a8c2d1399b5850ce53418e9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 11:10:55 2010 -0600
+
+    move test to buildbot/test/unit
+
+commit bca0bffd47ee9f10d78fd1d9a8946736913f67ee
+Merge: dc92faf b6ef1ac
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 11:02:29 2010 -0600
+
+    Merge branch 'dj_08_3' of git://github.com/maruel/buildbot into buildbot-0.8.0
+    
+    * 'dj_08_3' of git://github.com/maruel/buildbot:
+      Improve the StatusPush implementation by simplifying the tasks that serverPushCb needs to do.
+      Update gen-reference to exclude broken_test.
+      Add documentation for StatusPush and HttpStatusPush.
+      Add PersistentQueue, StatusPush and HttpStatusPush and their unit tests
+
+commit dc92faff922d97ebc04447f487df473323d2c35f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 11:02:20 2010 -0600
+
+    disable some broken_test's
+
+commit 8c70fdd1435eae03235f3d534a675278d9f4f1b6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 10:46:48 2010 -0600
+
+    use explicit \uXXXX for embedded unicode characters
+
+commit 0970781ee891f5c3d4953601b9f42a99c2ffb8a1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 10:31:43 2010 -0600
+
+    Merge branch 'master' of git://github.com/brasse/buildbot
+    
+    * 'master' of git://github.com/brasse/buildbot:
+      Fixed email creation bug in MailNotifier.
+      Refactored to be able to test email creation.
+
+commit 7cc0ceb0ca96cd72fcf5e70d38c913fae92b2bff
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 10:46:48 2010 -0600
+
+    use explicit \uXXXX for embedded unicode characters
+
+commit 0fb4d4d437489ffb5f29fed6901241151d0bf7a0
+Merge: db22729 5f9b2e7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 13 10:31:43 2010 -0600
+
+    Merge branch 'master' of git://github.com/brasse/buildbot
+    
+    * 'master' of git://github.com/brasse/buildbot:
+      Fixed email creation bug in MailNotifier.
+      Refactored to be able to test email creation.
+
+commit 7a720400f74375e368105c481ff83ffc1db425bd
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Mar 13 16:42:55 2010 +0100
+
+    Dont't set explicit twisted reactor on windows (twisted complains about it)
+
+commit fc099bcda4aa29f5b199471aee037458879359af
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Mar 13 13:22:55 2010 +0100
+
+    Show Change's repository and project properties
+
+commit b6ef1acc908843a4bbaa71084dbfddb6e70dd813
+Author: M-A <maruel@gmail.com>
+Date:   Fri Mar 12 21:46:31 2010 -0500
+
+    Improve the StatusPush implementation by simplifying the tasks that serverPushCb needs to do.
+    
+    Update unit test to verify more code paths
+    
+    Conflicts:
+    
+    	buildbot/broken_test/runs/test_status_push.py
+    	buildbot/status/builder.py
+
+commit fd4aaf614acbe6c49b04af53faccb677e2e93249
+Author: M-A <maruel@gmail.com>
+Date:   Fri Mar 12 20:49:54 2010 -0500
+
+    Update gen-reference to exclude broken_test.
+
+commit e78a68282e29f426db1ad8e2776df04d19d59957
+Author: M-A <maruel@gmail.com>
+Date:   Fri Mar 12 20:49:33 2010 -0500
+
+    Add documentation for StatusPush and HttpStatusPush.
+
+commit 5f9b2e7193f0f655e4d21cb3e52351de27684457
+Author: Mattias Brändström <thebrasse@brasse.org>
+Date:   Sat Mar 13 00:46:52 2010 +0100
+
+    Fixed email creation bug in MailNotifier.
+    
+    All text is now encoded as utf8 before it goes into the message object.
+
+commit 0b7f431b4de24291f125cd79627679eceb60a97e
+Author: Mattias Brändström <thebrasse@brasse.org>
+Date:   Sat Mar 13 00:13:39 2010 +0100
+
+    Refactored to be able to test email creation.
+    
+    Added MailNotofier.createEmail(). This method creates an email.Message
+    instance, with the appropriate content, and returns it. Before this
+    change the code in createEmail() was located inside buildMessage().
+    
+    When we have this new method it becomes easy to write a test that
+    verifies that emails gets created correctly in the presence of non-ascii
+    unicode characters. Correctly in this context means that we can call
+    message.as_string() without a UnicodeEncodeError being raised.
+
+commit f081199b7cd7392af0ccb4772b96baaabe8f8d56
+Author: M-A <maruel@gmail.com>
+Date:   Fri Mar 12 12:22:14 2010 -0500
+
+    Add PersistentQueue, StatusPush and HttpStatusPush and their unit tests
+    Remove patch from SourceStamp.asDict since the content is usually too large.
+    Change some asDict variable names.
+    Add filtering to StatusJson.
+
+commit db22729ff8ef2f478719279e8bd34d0222510279
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 11:13:46 2010 -0600
+
+    Monkeypatch startService and stopService to assert on running
+    
+    This adds a new monkeypatch module which will hopefully be useful in
+    adding more monkey patches later.  It should make tracking down
+    service-management bugs in tests *much* easier.
+
+commit 9ce34be77a21c297760edccae363301a51bda6cf
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 11:05:15 2010 -0600
+
+    move buildbot.test.state to buildbot.test.fake.state
+
+commit a18315b9b3e5ed2fd5df27d1d433435185ec874d
+Merge: efe7ba8 6ed78f0
+Author: Mattias Brändström <thebrasse@brasse.org>
+Date:   Fri Mar 12 13:38:22 2010 +0100
+
+    Merge remote branch 'upstream/master'
+
+commit efe7ba8ed0593e2b272f43aa1a4b75ed15316aef
+Author: Mattias Brändström <thebrasse@brasse.org>
+Date:   Fri Mar 12 13:35:09 2010 +0100
+
+    Updated docs to include TLS support in MailNotifier.
+
+commit 8c7db2ed2cdf4a4495d35d05ae14e465a2163e2c
+Author: Mattias Brändström <thebrasse@brasse.org>
+Date:   Fri Mar 12 13:02:45 2010 +0100
+
+    Changed naming convetion to match the source file.
+
+commit 6ed78f08b5e04705ecf065f778314da7be83d530
+Merge: d212796 1400c91
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 01:23:59 2010 -0600
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      Allow relocatable master and slave buildbot.tac files
+      remove overzealous escaping of reason in rebuild()
+
+commit 1400c91b276d5f71a7f58975e0be6c999a4231b7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 01:23:01 2010 -0600
+
+    Allow relocatable master and slave buildbot.tac files
+    
+    Adds --relocatable/-r to create-slave and create-master, and adds that
+    flag to the suggested invocations in the manual, since I think this
+    option is generally more useful than harmful.
+
+commit 21296a797c53ce8a855978d4cbdacf6950623a0a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 00:54:00 2010 -0600
+
+    remove overzealous escaping of reason in rebuild()
+    
+    I'd like a second look at this, since these escapes were added while
+    resolving the XSS vulnerabilities back in 0.7.*.  I think they are
+    unnecessary, particularly with the use of Jinja.  I suspect they were
+    added out of an abundance of caution, lest the reason later be used
+    unescaped in a status display.
+
+commit d21279600f6a409c3cefcea17fd62ab3d7e4876c
+Merge: fb50c4a 0fc61b8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 00:48:13 2010 -0600
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      update setup.py and MANIFEST.in to include all relevant files
+
+commit 0fc61b8fc8b276c10f1a343d12aaabd2c1d01c0a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 00:48:02 2010 -0600
+
+    update setup.py and MANIFEST.in to include all relevant files
+
+commit fb50c4aae22604557cdebaea83c889f00412134c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 23:37:45 2010 -0700
+
+    testing editing from the github web interface
+
+commit 211dd42c430652b10cccb1465c92b5e8d97a0b8a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Mar 12 00:34:10 2010 -0600
+
+    Clearer English in default mail message
+    
+    Use a few more words to describe the builder and project in an email
+    message.  Fixes #731.
+
+commit 9fbb446f1d4cc4a12197148a211ee19f92a00621
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 21:02:14 2010 -0600
+
+    document authorization implementation in texinfo
+    
+    fixes #715
+
+commit 17d3330020f6723058972ac9f98fe65f1f330355
+Author: Mattias Brändström <thebrasse@brasse.org>
+Date:   Thu Mar 11 22:54:42 2010 +0100
+
+    MailNotifier can now use TLS to send emails.
+    
+    When useTls=True is specified in the constructor, MailNotifier will try
+    to send emails using TLS and authenticate with the relayhost. This will
+    only work if pyOpenSSL is available. If pyOpenSSL is not available
+    MailNotifier.sendMessage() will fail when trying to execute code that
+    uses pyOpenSSL.
+
+commit f680f7bc10130b94e6c5d37be0bd09553291b14e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 12:08:23 2010 -0600
+
+    test that old import paths have not gone away
+
+commit df0a02ffd6207cc2e888411919457d283fde487e
+Merge: e4516e5 849705d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 11:01:19 2010 -0600
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      github_build.py was broken from a merge in the mainline, fixed it up
+      fixing newline endings
+
+commit 849705d97851278f3c2cc6756611754f2c08bc51
+Author: oppianmatt <matt@oppian.com>
+Date:   Thu Mar 11 14:49:57 2010 +0000
+
+    github_build.py was broken from a merge in the mainline, fixed it up
+
+commit c7184b88ddf47d42752d8436ccbc171494446d80
+Author: oppianmatt <matt@oppian.com>
+Date:   Thu Mar 11 14:35:24 2010 +0000
+
+    fixing newline endings
+
+commit e4516e55342da0b29edd924391b320f60fc2e9af
+Merge: f23d830 34518bc
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:38:21 2010 -0600
+
+    Merge branch 'buildbot-0.8.0'
+    
+    * buildbot-0.8.0:
+      try (unsuccesfully) to exclude broken_test from epydoc
+      fix typo
+
+commit f23d8304cfc7038908c2ccf49d2723f5b625369d
+Merge: ba4d87e d6c2a34
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:37:54 2010 -0600
+
+    Merge from release branch
+
+commit 34518bc15a817c839ef2cff995c91813a6a1e83e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:31:44 2010 -0600
+
+    try (unsuccesfully) to exclude broken_test from epydoc
+
+commit 12930814f252ccd508e7c3c5aa9c476c07683b8b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:29:49 2010 -0600
+
+    fix typo
+
+commit d6c2a34992d46c4952ed857477ce1ca0d5610020
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:08:01 2010 -0600
+
+    add version numbers
+
+commit ba4d87e448266c16b1b06b4a5da688c3c9e8b922
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:06:27 2010 -0600
+
+    fill in Jinja NEWS
+
+commit d5bdaaa857676013ad2ddb35678ceb9a2728cbec
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:05:29 2010 -0600
+
+    (refs #725) update NEWS regarding newly-passing buildbot tests
+
+commit daae315fbc1e09ea2e769be3aa9585ac4272eb66
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:04:26 2010 -0600
+
+    also exclude /tgrid in robots.txt
+
+commit 19b119f8833664e0142516704d9bd118c7e52879
+Merge: 487dc25 53e6648
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:03:58 2010 -0600
+
+    Merge branch 'master' of git://github.com/mook/buildbot
+    
+    * 'master' of git://github.com/mook/buildbot:
+      add /grid to WebStatus robots.txt
+
+commit 487dc25c84b327d8bfb7e9991c99f838eeffd4ce
+Merge: f79aa7e 41dd614
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:01:56 2010 -0600
+
+    Merge branch 'repoproj'
+    
+    * repoproj:
+      more repo/proj documentation
+      fix filtering
+      use correct default for repository and project in sendChange
+      fix NameError when config initialization fails
+      document some of project and repository
+      add filtering on project and repository
+      fix test failures
+      add a generic change filter class and test it
+      Add the project and repository property to some changesource
+      Restore consistency in table.sql
+      add repository and project properties
+      display SourceStamps correctly
+      add project and repository to Change objects and SourceStamps, display them
+      add project, repository columns to changes and sourcestamps tables
+
+commit 41dd614cbc0edcc0bf66f5b046168368f675a7a9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Mar 11 00:01:46 2010 -0600
+
+    more repo/proj documentation
+
+commit 8dd807c1b4194dc51d0ee7b88cd47dcc4a82f77c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 23:42:17 2010 -0600
+
+    fix filtering
+
+commit d0c0fe0b5037706b846aab1ef947dbb8aeaefafc
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 23:42:01 2010 -0600
+
+    use correct default for repository and project in sendChange
+
+commit 6a2df9643918f703aa99a5c1255b9716a796afa1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 23:41:44 2010 -0600
+
+    fix NameError when config initialization fails
+
+commit f3041d033c475b1f22baa9c9404e168ce26c5e30
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 23:07:49 2010 -0600
+
+    document some of project and repository
+
+commit 69be0c06f1d7ec5d4c46e2113b3a75e6b7ce846f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 23:07:39 2010 -0600
+
+    add filtering on project and repository
+    
+    Note that 'branch' is now an optional argument to Scheduler(), so it's
+    now necessary to supply all arguments with keyword arguments.  That
+    necessitated a lot of changes to tests!
+
+commit 53e66489a585a665521bc181d61ce7f63ef172c0
+Author: Mook <m.ookm.oz+git@gmail.com>
+Date:   Wed Mar 10 20:25:39 2010 -0800
+
+    add /grid to WebStatus robots.txt
+
+commit 70385eecd568ebf0f78c5839568dfa004afcef98
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 20:29:01 2010 -0600
+
+    fix test failures
+
+commit 4535753b62ff5dcab548d2e8fa2ba0adef9c9bf2
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 19:29:55 2010 -0600
+
+    add a generic change filter class and test it
+
+commit f79aa7e5e0d6da468c8ff87ead970381ff83dde6
+Author: Mattias Brändström <thebrasse@brasse.org>
+Date:   Wed Mar 10 23:57:04 2010 +0100
+
+    Using unicode strings where appropriate.
+
+commit 48ff8e96ffa1448772d43b9ee4e3236d498dfd63
+Merge: 308767e cd1708b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 10 15:20:19 2010 -0600
+
+    Merge branch 'repoproj' of git://github.com/benallard/buildbot into repoproj
+    
+    * 'repoproj' of git://github.com/benallard/buildbot:
+      Add the project and repository property to some changesource
+      Restore consistency in table.sql
+
+commit cd1708bc492f4bd92c21102890b59ec96f05fd5e
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Wed Mar 10 22:11:56 2010 +0100
+
+    Add the project and repository property to some changesource
+
+commit adef01a268a0fbd2afeb0b1f3561ca15ba2bbe5f
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Wed Mar 10 19:59:25 2010 +0100
+
+    Restore consistency in table.sql
+
+commit 308767ed74d7a5e9a4f80c8505020d4fa64af559
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 9 23:08:14 2010 -0600
+
+    add repository and project properties
+
+commit 450ecc76544d7e18300abc653733ca4d30c2efe8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 9 23:06:42 2010 -0600
+
+    display SourceStamps correctly
+
+commit 1679a523b5e8eb0e79a48769b39370da7ba2cbbb
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 8 16:10:25 2010 -0600
+
+    add project and repository to Change objects and SourceStamps, display them
+
+commit 214c120f47ba57ce15c79c3446557554b4aafa00
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 8 00:57:36 2010 -0600
+
+    add project, repository columns to changes and sourcestamps tables
+
+commit f5caea9e0676f1cf77ee14338e6941e839500296
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Fri Mar 5 16:39:03 2010 -0500
+
+    Imporve test coverage of slave.commands.base
+
+commit f13d764802262442bdce3fb3a38b9248e6f565c7
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon Mar 1 16:33:23 2010 -0500
+
+    Working on tests and comments
+
+commit e0d019555a1fd1fe7779299e3a55b9a60d5a10bb
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon Mar 1 16:25:34 2010 -0500
+
+    Buffer data sent to master
+
+commit 767bada4f39943bc1af6a91aa9cb2e05f0e1ff22
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 9 14:51:58 2010 -0500
+
+    Fix display of not-yet-run steps, and standardize ETA display
+
+commit b19876d98300f0e1d8cbb990b5bf7ffedc03e74b
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon Mar 8 14:51:11 2010 -0500
+
+    Try and treat log files as UTF-8 encoded, but fallback to replacing
+    unknown characters with placeholders.
+
+commit a9662ca520719cb0a144a1bf6f88e094116356fd
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon Mar 8 13:23:15 2010 -0500
+
+    Display '' for slaves with no admin set on buildslaves page
+
+commit 161d7fcdccb58b2bae06969912dedf4956978007
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Mar 7 16:58:03 2010 -0600
+
+    Be very careful in how JSON support is imported
+    
+    And only do it once, in buildbot.util.  Fixes #717
+
+commit b8b77574cebe32cbe4dcd2f248e6ff2388675ea1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Mar 7 16:16:08 2010 -0600
+
+    simple, incomplete tests for buildbot.schedulers.basic.Scheduler
+
+commit 404f38975f827a18e0908ce572eb3f9ba283e3a9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Mar 7 15:03:47 2010 -0600
+
+    add docs for service hierarchy
+
+commit a3942c1d057b55f02c0890ae83f19e723df663ba
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Mar 7 14:31:54 2010 -0600
+
+    add developer note about jinja whitespace
+
+commit f29c62cdcadab5601108024b2a6c7235e6aa7180
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Mar 7 10:31:38 2010 -0600
+
+    revert d04983d3a5168a5f4362d1602d790b56fed05ce6 and use jinja's - to collapse whitespace
+
+commit ec83b4fc65e1955f58a0c7b0f142265b791ac5b5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Mar 6 19:01:41 2010 -0600
+
+    add some comments to tables.sql
+
+commit 54f29cdb2756a4e786e4d67648e9092855848a39
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 28 13:15:41 2010 -0600
+
+    fix recursion-proofing
+    
+    patch debugged by Daniel THOMPSON <daniel.thompson@st.com>
+
+commit 155fa78054fe2049330a41c6b841fbbf09fe5c15
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Fri Mar 5 09:50:43 2010 -0500
+
+    Make step elapsed time use util.formatInterval
+    
+    Also have it show "running" instead of "0.0s" when the step isn't done
+    yet.
+
+commit d04983d3a5168a5f4362d1602d790b56fed05ce6
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Mar 4 22:33:24 2010 -0500
+
+    Remove newlines from chunks macro
+
+commit 95d054247cdab08bac88e7fb8df2f01242a2a7b3
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Mar 4 17:19:52 2010 -0500
+
+    Catch exceptions in ShellCommand.describe, log them, and then carry on
+
+commit 3696fad98da400401b1a4c13850411b840d0e5ff
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed Mar 3 23:20:31 2010 -0500
+
+    Move setText out of setStepStatus into startStep.
+    
+    When called in setStepStatus, properties for commands may not yet be
+    set, and so KeyError exceptions are raised.
+    
+    setText must be called before stepStarted is called, so that status
+    receivers see the proper description.
+
+commit c76b7045c6f08503e394ab82d0ed6c36e4aebfc8
+Merge: 744cc0d 604a8fe
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 3 14:15:31 2010 -0600
+
+    Merge branch 'hghook' of git://github.com/benallard/buildbot
+    
+    * 'hghook' of git://github.com/benallard/buildbot:
+      Add the possibility to run Mercurial Change Hook as a forked process
+
+commit 744cc0d6fc623c664e317617a90b33f9a3a34af8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 3 10:58:42 2010 -0600
+
+    include buildbot.slave.commands in install
+
+commit d2a945d707b8939f69db0ec82ebed9463017c572
+Merge: 40207e4 0b50393
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Mar 3 09:52:35 2010 -0600
+
+    Merge branch 'master' of git@github.com:djmitche/buildbot
+    
+    * 'master' of git@github.com:djmitche/buildbot:
+      Fixing recursion problems in loop processing
+
+commit 0b503934ef51bf27757a7361e6f060ef60dbbeb9
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 2 14:33:42 2010 -0500
+
+    Fixing recursion problems in loop processing
+
+commit 604a8fe5bba4b6b00ca7307e0f90ac2f437061f9
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Tue Mar 2 18:35:04 2010 +0100
+
+    Add the possibility to run Mercurial Change Hook as a forked process
+
+commit 40207e4c315ca2e5b0179aeae5494765ecb9e6ce
+Merge: b2e4135 bce5e33
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Mar 2 09:43:23 2010 -0600
+
+    Merge branch 'master' of git@github.com:djmitche/buildbot
+    
+    * 'master' of git@github.com:djmitche/buildbot:
+      Fix exception if slave admin isn't defined
+
+commit bce5e33117f39e4b4eaf83c8d3be886acfa41279
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Mar 2 10:39:41 2010 -0500
+
+    Fix exception if slave admin isn't defined
+
+commit b2e41351c9890d9d5e4dd15383710a172112480e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 20:46:52 2010 -0600
+
+    add forgotten db-changing step
+
+commit 9c01344674a48e6c2d3e1b8017b6d77e42ba5b2a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 20:30:14 2010 -0600
+
+    make test_db_dbspec's thread-leak-protection better, and stop leaking threads
+
+commit 5505f592d36af2afc0bfa5da18814990fcb85977
+Merge: 2717cfe 33a831e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 19:49:14 2010 -0600
+
+    Merge branch 'vstudio' of git://github.com/benallard/buildbot
+    
+    * 'vstudio' of git://github.com/benallard/buildbot:
+      Add System32 to VC8 PATH, cmd is needed
+
+commit 2717cfe6ca0b2d56f90a12f02b8b107fc55348b9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 19:48:44 2010 -0600
+
+    document new DB stuff
+
+commit 8a4942d82f96d3f835119621379757e010c6d221
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 19:48:38 2010 -0600
+
+    make a base class for Upgraders
+
+commit 1539d25f903e34a8eff53f6c412aff6988978fd2
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 15:18:04 2010 -0600
+
+    make test.unit.test_db_connector less sensitive to other things leaking threads
+
+commit b7caa5ef0c8c963f004efcae5b43b322de3cccc9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 15:16:29 2010 -0600
+
+    don't start master unless schema is_current
+
+commit 8474a2a34802e30e99b0972440973f2a10b5ee36
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Mon Mar 1 15:50:02 2010 -0500
+
+    Reorganize buildbot.slave.commands
+    
+    buildbot.slave.commands is now split up into 5 modules:
+    
+    buildbot.slave.commands.base
+    buildbot.slave.commands.registry
+    buildbot.slave.commands.transfer
+    buildbot.slave.commands.vcs
+    buildbot.slave.commands.utils
+
+commit 33a831e201125d7135fe0ab34a5e446cc3f00e3f
+Author: Benoit Allard <benoit@aeteurope.nl>
+Date:   Mon Mar 1 19:53:06 2010 +0100
+
+    Add System32 to VC8 PATH, cmd is needed
+
+commit e342e5c05e677e945c04ed5e518fddd4442fd683
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 00:32:45 2010 -0600
+
+    correctly include tables.sql
+
+commit cb1004d4273835b018c3ffda85f74d7e769c6bc5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 00:30:54 2010 -0600
+
+    remove bogus import
+
+commit 5c6b3df1ea32c6b6b66854f3ede137d734807989
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Mar 1 00:15:34 2010 -0600
+
+    separate dbspec, connector, and schema; add schema upgrade mechanism
+    
+    Breaks apart management of *specifying* a database (dbspec.DBSpec),
+    management of a database schema (schema.DBSchemaManager), and the
+    connection between the buildmaster and the database itself
+    (connector.DBConnector).
+    
+    Adds a simple, linear database upgrade mechanism, but importantly
+    considers the "old", pickle-based schema to be "version 0", so all
+    upgrades from pickles to database will be handled with this method.
+
+commit b72bdc32862f1e33a322526c2f9232c7bdbed56f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 28 00:23:56 2010 -0600
+
+    fix leftover buildbot.db references
+
+commit e219e7012a725be64c7fc0cd6fd201ac6354af3d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 27 23:07:54 2010 -0600
+
+    add buildbot.test.unit to the dist, since buildbot.test is already included
+
+commit b69f29b38bf47d7a53f83b1085ef436f476b6cca
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 27 22:53:13 2010 -0600
+
+    break buildbot.db out into packages
+
+commit 87ed1722abc532049f228926f8f706e9c17cdda9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Feb 25 10:23:35 2010 -0600
+
+    P4Sync bugfix (felo on github)
+    
+    We use perforce and we did not get the changelist for a sync unless you
+    set it explicitly either from a force sync with a changelist or from a
+    trigger that passed on the changelist number
+
+commit 6f62eb0e22a8df94bd44eb5716042bb475dc78d8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Feb 23 15:03:31 2010 -0600
+
+    fix test_web
+
+commit c17678601bc67da94be5f093a9757c26631dc93e
+Author: Benoit Allard <benoit.allard@gmx.de>
+Date:   Tue Feb 23 12:07:42 2010 -0600
+
+    add Visual Studio compile steps
+
+commit 7e78ad14a5fea382d6a3586bf2b6ca2b3c1ccae8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 21:58:26 2010 -0600
+
+    fix outdated import
+
+commit 771c5cb75f59165d170a5f4d84e0671d44fd1e3b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 21:10:52 2010 -0600
+
+    use a regular \uXXXX unicode character reference
+
+commit 40e78c6e5f758f8e53dd4dbe32d4eb9649f4698f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 21:07:39 2010 -0600
+
+    finish testing and documenting buildbot.util
+
+commit 5f2ff04ba5b05de0c7c125bdb6af1f932a183114
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 19:55:48 2010 -0600
+
+    remove dead code (CancelableDeferred, ingoreStaleRefs)
+
+commit e7ae4cdf4156c5aaaa20aaa702bb16f7c935e9f1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 19:38:30 2010 -0600
+
+    add and test buildbot.util.collections
+
+commit a5a14f55746b7383fb3769f73aa2bcd9919b876a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 13:48:25 2010 -0600
+
+    fix missed change in import location
+
+commit f68d5200bcf993156c1702f0e533e40b3ac0f4f7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 13:39:33 2010 -0600
+
+    Revert buildbot.util.collections addition
+    
+    This reverts accidental changes in commit a5baf83e0f632877606ae688d792e3ba6c3aa2da.
+
+commit 7f4e92dfb8bb9c056767bf18fb0c116a0c08aef8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 13:34:48 2010 -0600
+
+    fix console bug in first/last conditionals
+
+commit a5baf83e0f632877606ae688d792e3ba6c3aa2da
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 13:33:03 2010 -0600
+
+    add buildbot.util to the packages list
+
+commit c903edc670dd0935da5fc1ea7de28991281da431
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sun Feb 21 20:28:56 2010 +0100
+
+    Point to http://buildbot.net/trac in the API reference docs
+
+commit 6bd9ce4f198a96aff7692395bf7e1dd77fb9ada7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 11:47:51 2010 -0600
+
+    test open_db, create_db, create_or_upgrade_db; fix leak
+    
+    open_db was leaking threads on failure
+
+commit 72cba6c8dec9bf7345d2d17547b791fb046e7ca1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 10:15:21 2010 -0600
+
+    move test_util_loop to buildbot.test.unit
+
+commit 697f93a9dd121edc52cfd9a6248c24213616691b
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sun Feb 21 10:46:40 2010 +0100
+
+    debugclient has been moved to buildbot.clients
+
+commit f661ad2c82a31773a263762f41b6830da5965ce8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 21 02:14:30 2010 -0600
+
+    buildbot.util.loop, new tests, buildbot.test.state
+    
+    * Add a new test utility, buildbot.test.state, and document it
+    * move loop to buildbot.util
+    * new and improved tests for loop
+
+commit 2d0b6bfab1abe197d8d14cb6cfbfc6a05d8bf64a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 23:21:56 2010 -0600
+
+    use the correct name for the moved module
+
+commit c3863e911e4482ab3b75b68032f4f2b7f3903c51
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 23:15:45 2010 -0600
+
+    buildbot.util.eventual - move, test, document
+    
+    Move buildbot.eventual to buildbot.util.eventual, create succinct
+    unit tests, and add documentation.
+
+commit 33e52d42813a05af3b5b8d6797aeffb3e8e56a49
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 22:22:14 2010 -0600
+
+    add tests for DBConnection.parmlist
+
+commit 5d41eef3718b79c034cab533f18354ad87f30f31
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 22:05:38 2010 -0600
+
+    fix thread leak, fix sqlite errors on shutdown, add tests
+    
+    This fixes a major thread leak, by ensuring that the ConnectionPool's
+    close() method always gets called (fixes #722).  That method was
+    triggering spurious errors from sqlite, but passing
+    check_same_thread=False fixes that (and fixes #714).  This also
+    represents further work on #725 by adding new, well-isolated tests
+
+commit 0f1da80acf1d110b72f474c5f2456907581da1b6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 18:12:47 2010 -0600
+
+    better naming for authz tests, only do one assert per test
+
+commit 24b4b6beb966787b1ca06289a32ff39eba7796c3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 18:00:18 2010 -0600
+
+    remove unused 'generic' table and functions
+
+commit 8f1050164156faaed7cac5c6bed130c6f471fe87
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 17:54:23 2010 -0600
+
+    rename 'DB' to the more descriptive 'DBSpec'
+
+commit 4b68e2569dee754ba399d981425a847da134316e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 17:43:27 2010 -0600
+
+    move unit tests to unit/, since we will have integration tests too
+
+commit d5d23880386a0943ef422c4fab7fb19edf343e59
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 17:36:51 2010 -0600
+
+    add tests for buildbot.db.DB (refs #725)
+
+commit a12b96b4afcc883c6cd24443c50b996ce0df4e2b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 17:04:54 2010 -0600
+
+    rename test to reflect package path
+
+commit 51c4752dc895fa496373e10cc2d0a9f4b24655d5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 16:58:35 2010 -0600
+
+    test_util_ComparableMixin (refs #725)
+
+commit 9db920660c66451311ecf834bb64c71f558f6c31
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 16:37:42 2010 -0600
+
+    remove broken_test from the dist
+
+commit 27f7c69a2bfa33fe39900f5004e3896ae37ef955
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 16:31:57 2010 -0600
+
+    MANIFEST fixup
+
+commit 429ed202252d60f401c825e307845af041f8fc9a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 16:24:07 2010 -0600
+
+    move all tests to buildbot.broken_test (refs #725)
+    
+    This moves everything (well, almost - I moved test_authz back just
+    so the buildbots will have something to test) out of the way.
+
+commit c6e69ccf464e688848a9024e7f88f6a09d0d82ba
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 15:44:31 2010 -0600
+
+    disable badly-isolated buildbot.test.runs.test_db.{Create,MigrateChanges,Generic} (refs #724)
+
+commit 0e1cdbb25c57b46fdf93c8a0201d128def395533
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 15:30:51 2010 -0600
+
+    clean up buildbot.test.runs.test_db.Scheduling's isolation
+    
+    fixes #723
+
+commit aeec040f1b7fb38e51541e87e89a62640fce3199
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 15:18:04 2010 -0600
+
+    remove bogus testing code
+
+commit 7ec3cb889da367e01266fc3e923d64ca0c4452d0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 15:16:01 2010 -0600
+
+    disable badly isolated test
+    
+    refs #721
+
+commit bfe3bcd93f33e14fedd8d4ade1ca5944a86231f3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 20 14:43:33 2010 -0600
+
+    fix requirement that BuilderConfig category be non-None
+
+commit 8293230bd6e9289109c034913a061f17218b2937
+Author: Jochen Eisinger <jochen@chromium.org>
+Date:   Mon Feb 15 16:41:44 2010 +0100
+
+    Limit the display to 24h when a branch or committer filter is specified
+    for the waterfall (and not other limit is explicitly given).
+    
+    TEST=test_status.EventGenerator
+
+commit fb6e733ead35914714df2a9be180f4e6b6d5eaf2
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Feb 20 11:14:24 2010 +0100
+
+    Triggerable doesn't do anything useful with get_initial_state() so don't override it
+
+commit ccbc2b1237a3a60fe24c788062d05fd36fde9621
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 21:31:33 2010 +0100
+
+    BuilderConfig category must be a string
+
+commit e17909d10982e88d2b9f2d46e01dbecb87ddd8fe
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 18:08:45 2010 +0100
+
+    Group Python stdlib imports
+
+commit 3bc6c4e5ecae4e814071f664af8758634967a8f4
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 18:07:58 2010 +0100
+
+    Remove stale comment wrt. Python 2.3 compatibility
+
+commit efbb9b05fcac613f44c4d35fc8f5cded0d38cf7d
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 17:52:52 2010 +0100
+
+    (fixes #647) Use basedir to form the path to the twistd.log file
+    
+    Thanks to Dustin and Dan for the solution
+
+commit 7f5322928466eb595f6ec74a318d35fd4b65952e
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 12:47:35 2010 +0100
+
+    Indent last build column properly (whitespace change)
+
+commit 9749db561b1c7b92d03e3314e70e8109c1fcd29e
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 09:07:28 2010 +0100
+
+    Fix thinko in previous commit. Of cource I meant c['slaves']
+
+commit c30922eab7afe265a838401890f6923172094fd5
+Merge: ecd1054 811afe6
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 08:57:05 2010 +0100
+
+    Merge branch 'deprecated'
+
+commit 811afe63e7f8080aa70244d60b8e8b9c86298c1c
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 08:40:13 2010 +0100
+
+    Remove c['sources'] backwards compatible testcase which is no longer applicable
+
+commit 842626da393e3af9d8d628c2cccef8bcc291a625
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 08:35:58 2010 +0100
+
+    Remove c['bots'] backwards compatible testcase which is no longer applicable
+
+commit 534cf751ac30b032b4f35ef3f70035874a3697e9
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 08:38:47 2010 +0100
+
+    Scrub contrib/ for c['sources']
+
+commit 78005f307d062e925e43be4bcfd7cff436cc3fef
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 08:32:19 2010 +0100
+
+    Be a model citizen. Cleanup our sample config files
+
+commit 9eb6cc750281fe5ea40b427a1d3d7f9d3e70bfca
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 08:23:48 2010 +0100
+
+    Don't even mention that we used to support 'bots' and 'sources'. We don't want to give people some wrongs ideas
+
+commit e8dba2d8bb16a441a9bdffd7ff33e561bc65d979
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 08:13:22 2010 +0100
+
+    Raise an error instead of a warning if we see c['bots'] or c['sources']
+
+commit 0d0295232a80c090594b9c16fc4325353b3d4650
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 07:54:44 2010 +0100
+
+    Highlight that we've removed support for 'bots' and 'sources'
+
+commit ecd10541ee84c8da298f5af49cacf3c7541aa610
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 07:04:49 2010 +0100
+
+    Add a short CONTRIBUTE section
+
+commit 29433c3e7db6a182059fd8e298e4db53e6df0a06
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 06:21:12 2010 +0100
+
+    Remove duplicate etree import
+
+commit f0cfd9fefe62041f8598335a82dc777bfb627473
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 06:15:04 2010 +0100
+
+    Fix some bad indentions
+
+commit 9ab140a03378baa5ec98422228508ffa4d91c433
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 05:30:04 2010 +0100
+
+    (fixes #719) fix what appears to be some debug code that was inadvertently left in
+
+commit 62b86bcae9a6e3430457367e0f0a540c5b9307e1
+Merge: 828ee71 6d43578
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 05:14:14 2010 +0100
+
+    Merge branch 'master' of git@github.com:djmitche/buildbot
+
+commit 828ee715b58925db456d44f46c4fdba4716b98cd
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 19 05:09:20 2010 +0100
+
+    Remove __main__. We already support this through 'buildbot debugclient'
+
+commit 6d4357837808dbe3229231b9c59941145e0cc43a
+Merge: 7bf7265 10b9863
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Feb 18 10:53:23 2010 -0600
+
+    Merge branch 'stepstarted' of git://github.com/chasephillips/buildbot
+    
+    * 'stepstarted' of git://github.com/chasephillips/buildbot:
+      buildstatus should only show steps that have started.
+
+commit 7bf72650ae7307633ad1e0d94d3d9b33d56ab11a
+Author: Jonathan S. Romero <jonnyro@jonnyro-desktop.(none)>
+Date:   Thu Feb 18 11:09:37 2010 -0500
+
+    Update documentation for always_purge option to SVN buildstep.
+
+commit a1ed322dd5b4cc9ca2ac52d49b841eec2b8126b0
+Merge: 8f53d43 461a3f1
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Feb 17 22:08:20 2010 -0800
+
+    Merge remote branch 'dustin/master'
+
+commit 461a3f11e7763049177f7d7f3175344bfaf92e6a
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Feb 18 06:12:31 2010 +0100
+
+    Fixup some comments in ChangeManager
+
+commit 8f53d430074c5596876a520495446b84597a6b09
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Feb 17 18:10:24 2010 -0800
+
+    add c['db_poll_interval'], to enable multiple-masters with a shared DB
+    
+    This isn't complete: I expect that systems which use this will have a few
+    small problems with status delivery tools (the IRC "force build" command
+    probably won't announce the build's completion, and the "buildbot try --wait"
+    option probably won't either). Eventually, this simple polling will be
+    replaced with a TCP-based per-DB "notification server", and
+    c['db_poll_interval'] will be replaced with c['db_notification_server'].
+
+commit 625d0e2ff36425e3f4f932520a0f82017ab5b7d5
+Merge: 4a05403 20e1bf1
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Feb 17 18:08:44 2010 -0800
+
+    Merge remote branch 'dustin/master'
+    
+    Merged catlee's c['db_url'] work with my test fixes and loop-trigger changes.
+
+commit 10b986342590589cf19f763dfd69f737a32abd0b
+Author: Chase Phillips <cmp@google.com>
+Date:   Wed Feb 17 12:57:57 2010 -0800
+
+    buildstatus should only show steps that have started.
+    
+    The recent setStepStarted() change causes some steps
+    to have text set when they're created.  In those cases,
+    buildstatus would show the step even though it may not
+    have started yet.  This change causes buildstatus to
+    only show steps that have started.
+
+commit 20e1bf182e7286782f637b9a97da554aae036dc4
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Feb 17 19:38:26 2010 +0100
+
+    Add getPendingBuildTimes() to Base scheduler
+
+commit bb3b22bead981a117bb0deb790685c4128edfcc9
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Feb 17 19:09:04 2010 +0100
+
+    Remove superfluous dbgMsg()
+
+commit cb3d1f52137bc7040620b9ada8750268767cef3e
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed Feb 17 10:13:39 2010 -0500
+
+    Updating create-master/upgrade-master to use DB urls
+
+commit d52a3dc58fbf000f20ae636faed8834664ad40bd
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Feb 16 23:54:44 2010 -0500
+
+    Prevent changing the db_url on a reconfig
+
+commit c175b816e747437c5accb100b66708835c53997f
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Feb 16 23:11:42 2010 -0500
+
+    Refactor database loading code so that it can be specified via
+    master.cfg
+
+commit 9552312cc198709cec6d68239ec260285924e3b9
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Tue Feb 16 12:02:44 2010 -0500
+
+    Adding DB.from_url method and tests
+
+commit ac44ca9d17826d85e047fda55bcc7d33cf3fb6b0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 17 11:03:24 2010 -0600
+
+    Fix bad 'authz' configuration in sample.cfg
+
+commit 4a0540386460e1d5823d9a27c1a4868021f3685d
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Feb 17 00:17:34 2010 -0800
+
+    hush some pyflakes warnings
+
+commit 5dcd24c51f5354c902d4612d06568dbe175340db
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Feb 17 00:17:03 2010 -0800
+
+    remove every-30-second SchedulerManager trigger, in favor of one
+    post-reconfig trigger
+    
+    This revealed a bug in Periodic (not scheduling a wakeup for the next
+    periodic build), now fixed. Unit tests were updated too.
+    
+    I left a "just_poll" flag in place for a future config knob to enable the
+    multiple-masters-sharing-one-DB mode.
+
+commit f2b79ee6756868dd76a045b919f6fe5ff89272e8
+Author: Brian Warner <warner@lothar.com>
+Date:   Wed Feb 17 00:13:50 2010 -0800
+
+    test_config: rewrite in terms of MasterMixin
+
+commit 7bd3243bd6e1364032dcf12e7a795d188364251e
+Author: Brian Warner <warner@lothar.com>
+Date:   Tue Feb 16 18:49:34 2010 -0800
+
+    db.py: fix get_sqlite_dbapi_name() to actually use "sqlite3" on >=py2.6
+
+commit 23cc8ff2aac0d6f99ee5031ca3991364d8dbbef4
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Feb 16 07:45:25 2010 +0100
+
+    import signal unconditionally
+
+commit cb05f710c5131a86d27048ec3f553d9ba44d72f7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 23:48:47 2010 -0600
+
+    Add (stubbed-out) Developer Information section
+    
+    Hopefully this will be easily expanded, and will provide a place for
+    warmer to start documenting the schedulerdb changes.
+
+commit 6734b333e271d01e0944689c8a7ec114a0b490e1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 23:36:25 2010 -0600
+
+    get images right in docs
+
+commit 762622d4b3ef7ff968f4b7c3fe81238a15ee7718
+Author: Brian Warner <warner@lothar.com>
+Date:   Mon Feb 15 21:32:49 2010 -0800
+
+    turn off execute bit for all buildbot/* python modules
+    
+    (mostly the new ones that I added without first checking the mode bits)
+
+commit a1e99533057f3fd56496c26b42f0e0ba9e774b08
+Merge: c79f09b 60873ec
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 23:26:45 2010 -0600
+
+    Merge branch 'movedocs'
+    
+    * movedocs:
+      Finish moving docs around
+      WIP - look for comment to see where I was
+      break out 'Schedulers' section, add indices for each section
+      move 'Change Sources' under 'Configuration'
+      Support building docs in both split and full HTML
+      add pointer to API docs
+      split documentation into per-chapter files
+
+commit 60873ec18fb790c0ad56c4a8a31afad7ef33eb75
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 12:40:48 2010 -0600
+
+    Finish moving docs around
+    
+    This splits the docs into the following chapters:
+    1. Introduction
+    2. Installation
+    3. Concepts
+    4. Configuration
+    5. Command-line tool
+    6. Resources
+    
+    Each chapter is in its own texinfo file.  Furthermore, the Configuration
+    chapter is broken down into the types of objects required in the
+    configuration, and each subsection is described in its own texinfo file.
+    
+    With this organization, hopefully it will be clearer where documentation
+    should be added when patches are contributed.
+    
+    This patch also removes all but the first argument of @node; the
+    remainder are redundant and cause unnecessary changes that lead to merge
+    conflicts.
+
+commit c79f09bf30da4fe8c006087217a48cc8d7f9cae9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 21:46:54 2010 -0600
+
+    check for notification methods before calling them
+
+commit 822889a4c1a46ee5072d2082e70083fbb4c2c442
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 21:44:26 2010 -0600
+
+    Make buildbot.changes.changes.Change() more resilient
+    
+    Instead of failing on unicode input, coerce it to a bytestring
+
+commit 45c9b4ec236549f929bee80587e4bc72828916ad
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 21:31:22 2010 -0600
+
+    remove redundant print
+
+commit 0c2de79bcbc782631a3a5a821fd4871875000c29
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 21:22:50 2010 -0600
+
+    requestBuild no longer exists; uses submitBuildRequest
+    
+    This removes the reference from the DebugPerspective, and fixes the
+    rebuild button on the web status
+
+commit a16c9761df2b4edd03acb8bf2619e70d41cf58ce
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 20:55:51 2010 -0600
+
+    Use Versioned to ensure SourceStamps have the right types
+    
+    Since SourceStamps are used against the DB, types matter, so this patch
+    uses styles.Versioned to coerce branch, revision, and patch to the
+    correct type.
+
+commit 28d1841edc16eb99523f50a0f517adb4199ddadd
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 16:05:00 2010 -0600
+
+    don't fail if lxml not installed
+
+commit 52fc33ff30a9872565047e1880464233aec2524d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 16:03:14 2010 -0600
+
+    use textwrap.dedent to make schema more readable
+
+commit 9bba75e76dab5f397990bc312242cc84ab005c58
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 15:36:24 2010 -0600
+
+    clean up log display
+    
+    Only apply interface-related styling to interface pages, not to log
+    pages.  This reverts the log displays back to the plain-text output
+    they had in previous versions, although that is user-stylable.
+    
+    span.header had padding 1em, which was just strange!
+
+commit 9adac4e387e773653adbb221c880464d49316cac
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 15:23:02 2010 -0600
+
+    comments on buildbot.loop
+
+commit a5a128ae7ffa138fa09ddee14cba922fc22946d5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 14:33:57 2010 -0600
+
+    fix test_webparts (I broke it..)
+
+commit 466664afdb364b4a92b9b6496c202556453ad43c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 14:12:35 2010 -0600
+
+    more test output cleanup
+
+commit c43693d37b00f9de24b18dcf23c19cdb7df180e2
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 14:03:20 2010 -0600
+
+    clean up test_db output a bit
+
+commit 2bef2d8034519bc84789353e0b20f43e5cd3de50
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 13:45:17 2010 -0600
+
+    require pysqlite on py-2.5 and lower, use it in buildbot.db
+    
+    This adds a method that determines the appropriate module to use for
+    sqlite, and special-cases the dbapiName 'sqlite3' to point to this
+    module name
+
+commit 950bc5ca5825492aca4f144afd9c898ae8e8782d
+Merge: b458737 641fea4
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 13:25:06 2010 -0600
+
+    Merge branch 'master' of git@github.com:djmitche/buildbot
+    
+    * 'master' of git@github.com:djmitche/buildbot:
+      Add new sqlite3 dependency
+
+commit 641fea43540523e3a121945323a30ce4c188df18
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 15 20:10:23 2010 +0100
+
+    Add new sqlite3 dependency
+
+commit b4587376e0ff6d3cee04bf007a44489d72e74471
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 12:47:03 2010 -0600
+
+    fix simplejson import in buildbot.db
+
+commit d7dcf3e27d8519286e17958b9381e75e3d1aa762
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 15 19:01:49 2010 +0100
+
+    Streamline master/slave .tac files so that the common parts appears first (no functionality change intended)
+
+commit 4fff586fa79509962702704c80e619ec1f856298
+Merge: d8d79ff 5eb77a7
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 15 18:42:55 2010 +0100
+
+    Merge branch 'test_cleanup'
+
+commit 5eb77a79fe13aa349e52f7f7443c9275a11d170b
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 15 18:41:25 2010 +0100
+
+    Remove what appears to be an empty file. Merge gone wrong?
+
+commit adc8fec0022c5985a83478ba97209f509d400850
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 15 18:38:35 2010 +0100
+
+    Move into correct subfolders
+
+commit d8d79ff2cfd7f29cefa9f1737f9476fcd1518b20
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 15 18:03:52 2010 +0100
+
+    Add (simple)json requirement
+
+commit 06e2b0eee14c021a0fa349db5158a1de739f44e2
+Merge: 4401e13 abb32cf
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 10:36:42 2010 -0600
+
+    Merge branch 'movedocs'
+    
+    * movedocs:
+      WIP - look for comment to see where I was
+      break out 'Schedulers' section, add indices for each section
+      move 'Change Sources' under 'Configuration'
+      Support building docs in both split and full HTML
+      add pointer to API docs
+      split documentation into per-chapter files
+
+commit abb32cfff604870a4ea70b3bf87e50418ffdcc52
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 15 09:42:23 2010 -0600
+
+    WIP - look for comment to see where I was
+
+commit 4401e133365a7c39bf1f1a08822d23ddf04ad253
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 22:00:12 2010 -0800
+
+    add code-coverage tools: use "make test-coverage" to get started
+
+commit e6cfbdafd877a8c894ad86bf83d0f3d0921d0e04
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 22:00:03 2010 -0800
+
+    hush most non-trivial pyflakes warnings
+
+commit 58c6c6132117a1fd715b233009b3e07aedcac616
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 21:59:41 2010 -0800
+
+    p4poller: Clean up Deferred errbacks, log.err problems, fix tests to ignore
+    logged errors when testing bad input.
+
+commit ff021f62da31dd755e685c997266f8a789608610
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 21:59:28 2010 -0800
+
+    update all tests to work with the new schedulerdb
+    
+    Big patch. Much of the work is to create a master (with a db) before
+    starting the test. It is now mandatory to wait for master.loadConfig's
+    Deferred. Master shutdown must be waited on too. And some of the
+    BuildRequest submission paths changed.
+    
+    This also fixes a few pyflakes warnings.
+
+commit 10c01a73b5fadcab04c9f63542b0da36d761977a
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 21:58:03 2010 -0800
+
+    schedulerdb 5-of-5: Builders, everything else
+    
+    This contains the rest of the main schedulerdb changes. Most of the changes
+    are in buildbot/process/builder.py, which asks the database for unclaimed
+    BuildRequests instead of maintaining a .buildable attribute: this allows
+    queued build requests to survive a master bounce. Once a build is started,
+    the Builder must claim the BuildRequests by marking them in the database, and
+    builds that complete are similarly updated. Much of the IBuilderControl
+    functionality changed, since now the database is used to manipulate queued
+    builds.
+    
+    buildbot/master.py also changed extensively. The database manager object is
+    created in the constructor and made available to several other services.
+    Builders and Schedulers are now Service instances, so they must be handled
+    differently during config reloads. A separate SchedulerManager class is the
+    parent for Schedulers, and manages the Loop which drives them. The Deferred
+    that loadConfig() returns *must* be waited upon: the actual config changes
+    will not occur right away, so many unit tests need to be updated. Some of the
+    scheduling functionality of the BotMaster was moved, as were things like
+    submitBuildSet. Builds are always driven with BuildSets now (previously they
+    were optional), so the IControl methods are different, requiring updates in
+    other places.
+    
+    The Status implementation was changed slightly, since BuildSets,
+    SourceStamps, and Changes now live in the database instead of pickles. Some
+    methods were added to retrieve DB-specific information (like unique ID
+    numbers) for these objects, or to exchange an ID number for row contents. The
+    top-level Status object uses DB notification callbacks to implement existing
+    subscription interfaces.
+    
+    buildbot.texinfo: document new treeStableTimer=None, mergeRequests features
+    schedulerdb 5-of-5: Builders, everything else
+    
+    This contains the rest of the main schedulerdb changes. Most of the changes
+    are in buildbot/process/builder.py, which asks the database for unclaimed
+    BuildRequests instead of maintaining a .buildable attribute: this allows
+    queued build requests to survive a master bounce. Once a build is started,
+    the Builder must claim the BuildRequests by marking them in the database, and
+    builds that complete are similarly updated. Much of the IBuilderControl
+    functionality changed, since now the database is used to manipulate queued
+    builds.
+    
+    buildbot/master.py also changed extensively. The database manager object is
+    created in the constructor and made available to several other services.
+    Builders and Schedulers are now Service instances, so they must be handled
+    differently during config reloads. A separate SchedulerManager class is the
+    parent for Schedulers, and manages the Loop which drives them. The Deferred
+    that loadConfig() returns *must* be waited upon: the actual config changes
+    will not occur right away, so many unit tests need to be updated. Some of the
+    scheduling functionality of the BotMaster was moved, as were things like
+    submitBuildSet. Builds are always driven with BuildSets now (previously they
+    were optional), so the IControl methods are different, requiring updates in
+    other places.
+    
+    The Status implementation was changed slightly, since BuildSets,
+    SourceStamps, and Changes now live in the database instead of pickles. Some
+    methods were added to retrieve DB-specific information (like unique ID
+    numbers) for these objects, or to exchange an ID number for row contents. The
+    top-level Status object uses DB notification callbacks to implement existing
+    subscription interfaces.
+    
+    buildbot.texinfo: document new treeStableTimer=None, mergeRequests features
+
+commit b965842be93f1be07056e69931762a3ae3e3dd59
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 19:35:33 2010 -0800
+
+    schedulerdb 4-of-5: Schedulers
+    
+    Schedulers are drastically different now. They store their internal state in
+    the database, rather than as instance attributes, to allow the buildmaster to
+    be bounced without losing scheduler state. The Change-based schedulers read
+    information about Changes out of the DB instead of subscribing to hear about
+    new changes via method calls. The timer-based schedulers use the
+    wake-me-later feature of Loop to arrange to be run later. All Schedulers
+    submit BuildSets via a database call instead of calling a method on the
+    BuildMaster.
+    
+    Try schedulers and Dependent schedulers effectively watch the database to
+    find out about the builds they need to follow (Try needs to provide status
+    information via PB, and Dependent needs to know when the upstream builds have
+    succeeded). Some of this code is in buildbot/status/builder.py . Triggerable
+    schedulers had similar issues.
+    
+    Finally, Schedulers have been split into a number of smaller separate files
+    (buildbot/schedulers/*.py), with the original buildbot/scheduler.py remaining
+    as an import stub for the benefit of existing master.cfg files.
+
+commit 6f9156de6cbe239bb0a32515c41ecdee9cc23b85
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 19:32:53 2010 -0800
+
+    schedulerdb 3-of-5: BuildRequest/BuildSet
+    
+    The canonical storage of a build request is now in the DB, but a separate
+    BuildRequest class is defined (in buildbot/buildrequest.py, split out from
+    buildbot/process/base.py) to pass around to code that needs it. Likewise the
+    old BuildSet class has been removed and its funcionality moved into the
+    database. The scheduling methods on BuildSet (like waitUntilSuccess and
+    start) have been subsumed by other changes to the Schedulers and Builders, so
+    buildbot/buildset.py was removed altogether.
+
+commit 0e7f18a328e44d2c54b663fc46d5b4ab54706687
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 19:32:00 2010 -0800
+
+    schedulerdb 2-of-5: Changes
+    
+    Changes are now stored as database rows, instead of as list elements inside a
+    pickled ChangeMaster instance. Most of ChangeMaster was removed, except for a
+    small stub to allow old pickles to be loaded for migration purposes (during
+    "buildbot upgrade-master").
+    
+    The new ChangeManager class (moved out to changes/manager.py) is responsible
+    for reading from the database and returning instances to code that still
+    expects a Change instance.
+    
+    Some old implicit restrictions are now made explicit: branch names must be
+    ASCII bytestrings, revisions must be ASCII bytestrings too (not ints, so SVN
+    code must expect and provide strings). Databases care more about types than
+    pickles did, and anything which is interpolated into a shell command (like
+    "checkout") must be a bytestring. The patches inside SourceStamps must be
+    bytestrings too, not unicode objects.
+
+commit d17ea1d84f0366e063be73e943eef8fe775b3ab7
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 19:30:05 2010 -0800
+
+    schedulerdb 1-of-5: main database code, create/upgrade-DB in runner.py
+    
+    All database access occurs in buildbot/db.py, as well as DB creation, initial
+    schema initialization, and upgrade. The database adapter is derived from
+    twisted.enterprise, and (in theory) can use anything with a python DB-API
+    interface, however SQL differences are likely to limit actual compatibility.
+    SQLite and MySQL are the initial targets.
+    
+    runner.py contains code to create the database in both "buildbot
+    create-master" and "buildbot upgrade-master" (which also migrates Changes
+    from the now-obsolete changes.pck file). The database must exist before
+    "buildbot start" is used on the master. The database specification (a class
+    which controls which type of database to use, and the arguments to pass to
+    its constructor, like filename, or dbhost+username+password) is created in
+    the .tac file and passed as an argument to the BuildMaster() constructor.
+    
+    Several objects which used to exist as separate (pickleable) classes are now
+    expressed as rows in the database: BuildSets, BuildRequests, Properties,
+    Changes, and SourceStamps. Some of these still have classes defined for the
+    sake of older code, even though their canonical representation is in the DB.
+    For immutable objects like Changes, we use an LRU cache and try to avoid
+    creating duplicate instances for the same notional object.
+    
+    Several extra fields exist in the DB to support performance metrics (e.g. how
+    long a build spends waiting for a buildslave) and scheduler dashboard tools.
+    There is currently no garbage collection, but the rules under which rows may
+    be deleted are defined in a comment.
+    
+    Thanks to Kristian Nielsen and Chris Atlee for invaluable DB work.
+    
+    This commit is the first of five that contain the core functionality of the
+    schedulerdb project: they are not useful without the others, but are broken
+    up for ease of review. There are other patches before and after these which
+    contain more isolated changes. The whole batch (about a dozen) is a git
+    rewrite of roughly 85 older revisions that included a number of wrong turns
+    and dead ends (and subsumes an earlier rewrite of about 70 revisions). The
+    full changelog for the original sequence is included here for history buffs.
+    
+      commit 99b042292ec32c2ac55c1318a5f15f0b0fd0c083
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 18:29:45 2010 -0800
+    
+          test_webparts: fix a schedulerdb-related problem, but the overall test
+          still fails because of some non-schedulerdb issue
+    
+      commit 1989a62b5c96ff02476569b5e1119482e830d2c1
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 18:28:25 2010 -0800
+    
+          hush pyflakes warnings in about 40 files. Many of the remaining
+          warnings are real bugs.
+    
+      commit d69ede21d6e764e7af5429caa7c6be30f8f46868
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 17:58:25 2010 -0800
+    
+          fix test_db
+    
+      commit 5476c81d98af454055952d3bef27670ee4851774
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 17:57:12 2010 -0800
+    
+          fix test_sourcestamp: patch= is always (level, diff)
+    
+      commit 555b573bc158349f3c3b672b6047971759174fc7
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 17:40:33 2010 -0800
+    
+          fix test_config, test_scheduler
+    
+      commit a327e64fab80fc0268a5a3c635207a661f1407f1
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 17:31:21 2010 -0800
+    
+          fix test_web_status_json.py
+    
+      commit 83973d05052c4cb2d402bab5b6b76b477e433686
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 17:23:25 2010 -0800
+    
+          fix test_status, I think
+    
+      commit 44070c53f43fcbaf2802ec8c47750899b077f58c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 17:14:06 2010 -0800
+    
+          fix test_runner, test_slaves
+    
+      commit 88ec271143c0b360d18f36323b5cd0260eba6391
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 17:09:48 2010 -0800
+    
+          fix test_mergerequests
+    
+      commit 5b07ffedb24cfc990514ab923be86b39043510be
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sun Feb 14 15:00:18 2010 -0800
+    
+          remove dummy setup.py line
+    
+      commit d0a343706ae97fb64d28b57fbd7e92162b4c0ae2
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 23:44:41 2010 -0800
+    
+          test_vc: put each test in a separate directory
+    
+      commit f02ec0510acb6ea38678d7d472dede8a728296f4
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 23:25:09 2010 -0800
+    
+          fix test_run.Basedir, by letting runutils.py optionally specify the
+          slavebasedir
+    
+      commit e730c1f7f865206becfe0f47caf7ddf4f68a90ce
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 23:17:43 2010 -0800
+    
+          db.py: hush debug prints
+    
+      commit 2995ef51781d4e33fc00813bb12ec2439179cd5c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 23:17:17 2010 -0800
+    
+          test_config: fix testIRC, by using a no-network fake IRC target
+    
+      commit a9545bd7df38bcc598c087c585000be14a73227e
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 23:01:30 2010 -0800
+    
+          runutils: go back to using mktemp() for slave dirs, since using
+          self.basedir broke test_slaves.LatentSlave.testSequence
+    
+          cleanups to test_slaves
+    
+      commit c2840e693f4603e17a15b1e11fc66df81d79202c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 22:29:59 2010 -0800
+    
+          test_slaves.Slave: cleanups, use MasterMixin and separate basedirs
+    
+      commit 59b000c18fd9fd0697c17a2e1f973270bb63e853
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 22:19:15 2010 -0800
+    
+          test_slaves: general cleanup, use requestBuild() and StallMixin, hush
+          pyflakes
+    
+      commit 3bdc429272fb15293f39b1153ead7e8c8b1d610a
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 22:18:24 2010 -0800
+    
+          fix test_slaves.BuildSlave, reduce number of stall()s
+    
+      commit dd768ed733425cb15e3b2c67a4aa85a757e21e8b
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 22:15:40 2010 -0800
+    
+          test_scheduler: hush pyflakes
+    
+      commit aca62e611d1160bf89e5a28d1cb1524ef0fc2c63
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 21:23:49 2010 -0800
+    
+          Fix doCheckConfig() and check_master_cfg() to not leave lingering
+          things
+    
+          master.loadConfig now returns a Deferred because it does DB
+          operations (some of which use deferToThread). It really needs to have a
+          reactor running. The fix was to add a new check_synchronously_only=
+          argument to loadConfig, which lets it do the useful validation parts
+          but skips the actual setup phase.
+    
+          This was causing test_runner (working on upgradeMaster) to flunk the
+          subsequent test with a dirty reactor.
+    
+      commit 3661ce32025a108b0f9e07acf404bff64bf78aea
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 20:28:21 2010 -0800
+    
+          test_scheduler: fix testTryUserpass
+    
+      commit 8b73e3841835af4129c003629218f6c38004c67f
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 20:21:16 2010 -0800
+    
+          test_scheduler: fix testTryJobdir
+    
+      commit a340f6fae8d258078ff4d91861604b8c1df0456a
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 20:03:04 2010 -0800
+    
+          test_scheduler: fix testCategories, both by fixing Scheduler to respect
+          categories and by fixing the race conditions in the previous version
+    
+      commit 3e82a6a91ff98c39dcfe3ff5c375bc494501333f
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Feb 13 11:44:51 2010 -0800
+    
+          test_scheduler: update testCategory, it fails, I think I broke
+          categories in the basic Scheduler
+    
+      commit 6d11870b1b7659bc0cfd652c32f0becbd960db51
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Feb 12 17:43:20 2010 -0800
+    
+          test_scheduler: started work on testCategory, not done yet
+    
+      commit e4a069d133982b325142d90c30eeeecbe1a6e139
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Feb 12 17:29:03 2010 -0800
+    
+          delete test_scheduler testGetBuildSets: the implementation changed
+          drastically
+    
+      commit c39849d24736d1336a7ca270975aac98c09d6011
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Feb 12 17:28:33 2010 -0800
+    
+          test_scheduler: fix up basedirs
+    
+      commit 3aa127a2fd2d8b9328fca8e063600c71ccdafff1
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Fri Feb 12 17:02:57 2010 -0500
+    
+          Fix testPeriodic1 (with a stall)
+    
+      commit 0dc85adb7720a71684385efc0ac486ecd0303bb5
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Fri Feb 12 16:51:54 2010 -0500
+    
+          Fixed AnyBranch, AnyBranch2
+    
+      commit 2bee223bfca7b9e2b0a1becbb8390a824ae68fb0
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Fri Feb 12 16:31:12 2010 -0500
+    
+          Fixes for testBranch (renamed to testOffBranch and
+          testImportantChanges)
+    
+      commit b3a313dae9f379dcfee8333bee52ab5562952504
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Thu Feb 11 18:59:05 2010 -0500
+    
+          Working on testBranch
+    
+      commit 31a5daae6196a1245fa97a94e1898c687ec6d0eb
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Thu Feb 11 18:10:17 2010 -0500
+    
+          Fixed Nightly
+    
+      commit 6dc73c354143895c67f2045911e9c5167f1f53d6
+      Author: Dustin J. Mitchell <dustin@zmanda.com>
+      Date:   Mon Feb 8 18:34:55 2010 -0600
+    
+          add simplejson prereq
+    
+      commit e127a17411b1c9de411fe677914525ad561af492
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Feb 11 10:44:10 2010 -0800
+    
+          test_run: hush pyflakes, fix a missing Deferred return
+    
+      commit b00db15801c8d448a8f1de09909c0b98253b3e7d
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Wed Feb 10 17:29:41 2010 -0500
+    
+          Fix TestFlag
+    
+      commit cb3bec310e40a078c3c818f837937180e164825f
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Wed Feb 10 15:42:23 2010 -0500
+    
+          Fixed TestBuilder
+    
+      commit 0c50400b8310c3454616a8be47e41ff4bae8e266
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Wed Feb 10 15:16:41 2010 -0500
+    
+          Removed SchedulerWatchers test
+    
+      commit cd553f5dd83d3cd1d4b2ae8133d98a3b41b0a424
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Feb 11 09:12:38 2010 -0800
+    
+          fix test_run.BuildPrioritization, by Chris Atlee
+    
+      commit e8515c5a71c5477744bb3ced9a4462bf5e25573f
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Feb 11 09:12:17 2010 -0800
+    
+          db.py: virtualize DBConnector's notion of time. By Chris Atlee.
+    
+      commit e68b8b2520e973975093688ceb519944c1b9e4bb
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Feb 11 09:04:27 2010 -0800
+    
+          test_run: fix GracefulShutdown(Idle|Busy), fixes by Chris Atlee
+    
+      commit fd3725fdf3b035cfe59a49dc431cb9d5d0678a17
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Feb 11 08:55:46 2010 -0800
+    
+          test_run: fix PropertyPropagation, improve Triggers
+    
+      commit c61115502726ed5aed7e70f451433aaebf583d6c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Tue Feb 9 16:22:05 2010 -0800
+    
+          fix test_run.Triggers
+    
+      commit 9b68826f39408adca18f0fc0f7dfcafc6c282430
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Tue Feb 9 14:32:07 2010 -0800
+    
+          test_run: merge Disconnect2 into Disconnect.testSlaveTimeout, remove
+          test_null
+    
+      commit 72148bc764063d1c947ce0709a9fa8be5809b3bf
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Tue Feb 9 14:20:19 2010 -0800
+    
+          runutils.MasterMixin.tearDown: use wait_until_idle(), works better
+    
+      commit 2b4f36b1ad33fadcf8243fb593fbc955c4251d65
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Tue Feb 9 13:58:55 2010 -0800
+    
+          test_run.Disconnect: delete remaining fragile tests
+    
+      commit c4b77a3a834e0ef77d87945adf3d40fcd83ffa36
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Tue Feb 9 13:37:58 2010 -0800
+    
+          fix test_run.Disconnect.(testDisappear|testDuplicate)
+    
+      commit e1199b0b8b3f7737c6cb57d5bab09bd2a0a16f4c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 8 16:49:57 2010 -0800
+    
+          make test_run.Disconnect.testBuild1 work
+    
+      commit 341ba2949ac7da50bbe7cc296228636a0c1b4408
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 8 16:48:38 2010 -0800
+    
+          eventual.py: tolerate flushEventualQueue inside an eventual send call
+    
+      commit 372272bb1e7f0ff70e034cfe2334ab85d00ca31b
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 8 09:32:16 2010 -0800
+    
+          test_run: make Disconnect.testIdle work, add is-db-idle() helper
+    
+      commit d4dfe912f3df0f0738b67d965026b7dfe8e5c93d
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Feb 4 22:05:57 2010 -0800
+    
+          status/web/grid.py: remove unused definition of grid_css (pointed at
+          the wrong place anyways)
+    
+      commit 0f64fba019b72dce1c62308d60a2bfe7d5a1f85c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Feb 4 22:02:24 2010 -0800
+    
+          test_run: get 5 test classes working (out of 15): Run, CanStartBuild,
+          Ping, BuilderNames, Basedir
+    
+      commit d72bdbf23923abc2b77031fce24422bb769b4d35
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Feb 3 17:02:19 2010 -0800
+    
+          test_web/test_webparts: remove "coding:", ASCIIfy the test files
+    
+      commit 8294027bd6d91dfcf01151b3d04473b6883b808a
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Feb 3 16:58:07 2010 -0800
+    
+          test_vc: use e.g. \N{LATIN SMALL LETTER C WITH CEDILLA} instead of raw
+          utf-8.
+    
+          This returns test_vc.py to being ASCII, which is much easier to work
+          with. My git frontend (magit) and 'patch' were unhappy with the binary
+          characters.
+    
+      commit f489d6167e95fbecc21be0b50c665aac3fa173c3
+      Author: Chris AtLee <catlee@mozilla.com>
+      Date:   Wed Feb 3 15:10:11 2010 -0500
+    
+          Fix test_reconfig
+    
+      commit cb619e77022f4ab2e3976f1d906181ceba595dce
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Feb 3 11:40:16 2010 -0800
+    
+          test_webparts: fix
+    
+      commit bf87dbabb8d3ce9dc78bc36c43bdc3d1e39d04b8
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Feb 3 09:23:07 2010 -0800
+    
+          test_webparts: fix quotes, remove trailing whitespace. No functional
+          changes.
+    
+      commit a8167b5e4628fa38d9f9e07dffd83fe21bb38390
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Feb 3 09:21:24 2010 -0800
+    
+          test_ordering: fix
+    
+      commit ef9d62a2beae1c0a2ff4d1746c7db22ec7ec2e0c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Feb 3 09:20:17 2010 -0800
+    
+          add code-coverage tools: use "make test-coverage" to start
+    
+      commit 71afe49d3ce9662f4e06ffad518b25b23dc5b111
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 1 17:22:20 2010 -0800
+    
+          test_ec2buildslave: fix
+    
+      commit 39ecf8bb290714e3239ec7dd19adf5e78d7c41e3
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 1 16:45:05 2010 -0800
+    
+          test_dependencies: fix
+    
+      commit d41e77675085b584be165a197f55dfd3aee03cf2
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 1 16:03:56 2010 -0800
+    
+          fix test_control
+    
+      commit c96fb543cbdbf8d4364f3364c33ef91e6596447d
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 1 14:51:03 2010 -0800
+    
+          fix test_console
+    
+      commit ba50ab754d52ca98625b49230ba1525bfa65c93f
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Feb 1 14:40:15 2010 -0800
+    
+          fixes: test_buildreq, test_buildset, test_changemaster, test_locks
+    
+          Split out MasterMixin from RunMixin, to allow consistent basedirs.
+    
+          Change the 'buildsets' table to only mark buildsets as complete
+          after *all* buildrequests have been retired, not just the first failing
+          one ("complete" vs "successful"). Update schedulers to match.
+    
+      commit cd18078b31ebae5ff37bf3f5109fc59b174b736a
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Mon Jan 25 18:04:57 2010 -0800
+    
+          test_config: bring up-to-date with DB changes
+    
+      commit 3c469373e3596d932729f8d5f5f4c36deba6eadc
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Jan 23 13:18:26 2010 -0800
+    
+          fix test_db: treeStableTimer=None means don't merge changes, so use
+          0.01 instead
+    
+      commit ced5cb09f64217b47044295881112bde475f71ac
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Jan 23 12:55:19 2010 -0800
+    
+          sendchange: remove --revision_number argument, now that all revisions
+          are strings
+    
+          fix test_changes to match, by removing --revision_number tests.
+    
+      commit 55ce64c9fd7185c3bdc5d48a6d3c54a22ad70126
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Jan 23 12:47:09 2010 -0800
+    
+          p4poller: revisions are strings, not ints. Clean up Deferred errbacks,
+          log.err problems, fix tests to ignore logged errors when testing bad
+          input.
+    
+      commit 251cb9343f7933d7d37704663d8dfb07c6afff82
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Sat Jan 23 12:24:55 2010 -0800
+    
+          fix test_status: revisions are now strings, never ints.
+    
+          Also changed status/words.py to use str() instead of repr(), to avoid
+          the extra quotes. This relies upon revisions being ascii bytestrings.
+    
+      commit 850d470d8d70825888ddd947ca9865aaef1e71a8
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 22 17:48:47 2010 -0800
+    
+          fix test_webparts by updating web/console.py to use ChangeManager's
+          real API
+    
+          I'm not entirely sure this is correct.. we pull 25 changes from the
+          database, but then look for 40 or 80 revisions. This needs more
+          extensive manual testing.
+    
+      commit 205cce8f74de5fccb4dffddf971703d508f846d9
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 22 17:32:41 2010 -0800
+    
+          fix test_runner: "buildbot create-master" is no longer idempotent,
+          bails on retry
+    
+      commit 1133e741e7a5214c905e71e796fba60d83ce9535
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Jan 21 14:06:15 2010 -0800
+    
+          ChangeManager: remove unused Queue class
+    
+      commit d6bd4299155bc79e3f83423bb592e6ee599b42fd
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Thu Jan 21 13:47:00 2010 -0800
+    
+          base64-encode patches in SourceStamps, since they are arbitrary
+          bytestrings
+    
+      commit 65825e8d73a862bda5a44909d030766f860a2abc
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 02:49:23 2010 -0800
+    
+          accept unicode buildernames
+    
+          * update buildbot/config.py to accept type==unicode, not just str
+          * change __repr__ in process/builder.py to only return ASCII
+          * change test_vc.py to use real unicode buildernames, not 8-bit
+            bytestrings
+    
+      commit c4186f6c86a88b7debbdd2951b7da7adbf7b6b6c
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 01:01:22 2010 -0800
+    
+          retry builds interrupted due to slave disconnect
+    
+          Also add RETRY to the list of css_classes, now that's a possible
+          result.
+    
+      commit d7da67fc92be639de7d6c3a9ebd62509da820916
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Dec 16 13:38:33 2009 -0800
+    
+          Scheduler: refine meaning of treeStableTimer=None to submit a separate
+          BuildSet for each Change.
+    
+      commit 3d8ad3f55a2203a6d78361045ae63fe3bdf143c6
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Wed Dec 16 13:20:57 2009 -0800
+    
+          add ['mergeRequests']=True to the Builder setup dictionary, for simple
+          per-Builder control of merging
+    
+      commit f9bd3871de76219a281879e6466b43e2ce6bad55
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 02:21:44 2010 -0800
+    
+          schedulerdb tests: update about a third of the test suite
+    
+          Lots of little interfaces changed, so most tests need revision.
+          BuildMasters need to be constructed with an existing database, so a lot
+          of setUp() methods must be changed to create the DB before creating the
+          BuildMaster. And loadConfig() can no longer be called synchronously,
+          requiring some Deferred-chain juggling.
+    
+      commit 347ee639fdbd606580f12a9b73f099119b9b9cb5
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 02:18:42 2010 -0800
+    
+          schedulerdb 5-of-5: Builders, everything else
+    
+          This contains the rest of the main schedulerdb changes. Most of the
+          changes are in buildbot/process/builder.py, which asks the database for
+          unclaimed BuildRequests instead of maintaining a .buildable attribute:
+          this allows queued build requests to survive a master bounce. Once a
+          build is started, the Builder must claim the BuildRequests by marking
+          them in the database, and builds that complete are similarly updated.
+          Much of the IBuilderControl functionality changed, since now the
+          database is used to manipulate queued builds.
+    
+          buildbot/master.py also changed extensively. The database manager
+          object is created in the constructor and made available to several
+          other services. Builders and Schedulers are now Service instances, so
+          they must be handled differently during config reloads. A separate
+          SchedulerManager class is the parent for Schedulers, and manages the
+          Loop which drives them. The Deferred that loadConfig() returns *must*
+          be waited upon: the actual config changes will not occur right away, so
+          many unit tests need to be updated. Some of the scheduling
+          functionality of the BotMaster was moved, as were things like
+          submitBuildSet. Builds are always driven with BuildSets now (previously
+          they were optional), so the IControl methods are different, requiring
+          updates in other places.
+    
+          The Status implementation was changed slightly, since BuildSets,
+          SourceStamps, and Changes now live in the database instead of pickles.
+          Some methods were added to retrieve DB-specific information (like
+          unique ID numbers) for these objects, or to exchange an ID number for
+          row contents. The top-level Status object uses DB notification
+          callbacks to implement existing subscription interfaces.
+    
+      commit cd42dfac529e629aa7f4cdd06d2cb181cd25c1f6
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 02:04:01 2010 -0800
+    
+          schedulerdb 4-of-5: Schedulers
+    
+          Schedulers are drastically different now. They store their internal
+          state in the database, rather than as instance attributes, to allow the
+          buildmaster to be bounced without losing scheduler state. The
+          Change-based schedulers read information about Changes out of the DB
+          instead of subscribing to hear about new changes via method calls. The
+          timer-based schedulers use the wake-me-later feature of Loop to arrange
+          to be run later. All Schedulers submit BuildSets via a database call
+          instead of calling a method on the BuildMaster.
+    
+          Try schedulers and Dependent schedulers effectively watch the database
+          to find out about the builds they need to follow (Try needs to provide
+          status information via PB, and Dependent needs to know when the
+          upstream builds have succeeded). Some of this code is in
+          buildbot/status/builder.py . Triggerable schedulers had similar issues.
+    
+          Finally, Schedulers have been split into a number of smaller separate
+          files (buildbot/schedulers/*.py), with the original
+          buildbot/scheduler.py remaining as an import stub for the benefit of
+          existing master.cfg files.
+    
+      commit 3290479a6227a690a5c1b586e2334d36950f30e5
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 01:56:00 2010 -0800
+    
+          schedulerdb 3-of-5: BuildRequest/BuildSet
+    
+          The canonical storage of a build request is now in the DB, but a
+          separate BuildRequest class is defined (in buildbot/buildrequest.py,
+          split out from buildbot/process/base.py) to pass around to code that
+          needs it. Likewise the old BuildSet class has been removed and its
+          funcionality moved into the database. The scheduling methods on
+          BuildSet (like waitUntilSuccess and start) have been subsumed by other
+          changes to the Schedulers and Builders, so buildbot/buildset.py was
+          removed altogether.
+    
+      commit 18aa43449351f01e8b0d6d1fede4f662786f953b
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 01:51:37 2010 -0800
+    
+          schedulerdb 2-of-5: Changes
+    
+          Changes are now stored as database rows, instead of as list elements
+          inside a pickled ChangeMaster instance. Most of ChangeMaster was
+          removed, except for a small stub to allow old pickles to be loaded for
+          migration purposes (during "buildbot upgrade-master").
+    
+          The new ChangeManager class (moved out to changes/manager.py) is
+          responsible for reading from the database and returning instances to
+          code that still expects a Change instance.
+    
+          Some old implicit restrictions are now made explicit: branch names must
+          be ASCII bytestrings, revisions must be ASCII bytestrings too (not
+          ints, so SVN code must expect and provide strings). Databases care more
+          about types than pickles did, and anything which is interpolated into a
+          shell command (like "checkout") must be a bytestring. The patches
+          inside SourceStamps must be bytestrings too, not unicode objects.
+    
+      commit 79b1e36d1769561eaee6f57130b85ce9780a6415
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 01:42:21 2010 -0800
+    
+          schedulerdb 1-of-5: main database code, create/upgrade-DB in runner.py
+    
+          All database access occurs in buildbot/db.py, as well as DB creation,
+          initial schema initialization, and upgrade. The database adapter is
+          derived from twisted.enterprise, and (in theory) can use anything with
+          a python DB-API interface, however SQL differences are likely to limit
+          actual compatibility. SQLite and MySQL are the initial targets.
+    
+          runner.py contains code to create the database in both "buildbot
+          create-master" and "buildbot upgrade-master" (which also migrates
+          Changes from the now-obsolete changes.pck file). The database must
+          exist before "buildbot start" is used on the master. The database
+          specification (a class which controls which type of database to use,
+          and the arguments to pass to its constructor, like filename, or
+          dbhost+username+password) is created in the .tac file and passed as an
+          argument to the BuildMaster() constructor.
+    
+          Several objects which used to exist as separate (pickleable) classes
+          are now expressed as rows in the database: BuildSets, BuildRequests,
+          Properties, Changes, and SourceStamps. Some of these still have classes
+          defined for the sake of older code, even though their canonical
+          representation is in the DB. For immutable objects like Changes, we use
+          an LRU cache and try to avoid creating duplicate instances for the same
+          notional object.
+    
+          Several extra fields exist in the DB to support performance
+          metrics (e.g. how long a build spends waiting for a buildslave) and
+          scheduler dashboard tools. There is currently no garbage collection,
+          but the rules under which rows may be deleted are defined in a comment.
+    
+          Thanks to Kristian Nielsen and Chris Atlee for invaluable DB work.
+    
+          This commit is the first of five that contain the core functionality of
+          the schedulerdb project: they are not useful without the others, but
+          are broken up for ease of review. There are other patches before and
+          after these which contain more isolated changes. The whole batch (about
+          a dozen) is a git rewrite of roughly 90 older revisions that included a
+          number of wrong turns and dead ends. The full changelog for the
+          original sequence is included here for history buffs.
+    
+          commit efcd0328da590defe10227054b5441d58ae4f217
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Sat Dec 19 17:23:46 2009 -0800
+    
+              db.py: add start_time/finish_time to [builds] table, for
+              performance dashboards
+    
+          commit de7c571fa5a2b1edee0c682f715b2e5b571f795d
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 17 13:14:39 2009 -0800
+    
+              db: str-ify branch=/revision= when creating Change instances, to
+              avoid tripping the assertions I just added
+    
+              * test_vc.Sources.testSVN2: use string revisions, not ints
+    
+          commit 2581c545587c9ef526b68e65a349f3fd3562f214
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 17 13:07:47 2009 -0800
+    
+              changes.py: assert() more about bytestring branchnames and
+              revisions
+    
+          commit ef871d8452721e2a590b2e088debf4b689aa9342
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 17 12:58:41 2009 -0800
+    
+              sourcestamp.py: assert() more about bytestring branchnames and
+              revisions
+    
+          commit f3f3a12404931bfc0b72d3e3be104d84ad80dd74
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Dec 16 13:38:33 2009 -0800
+    
+              Scheduler: refine meaning of treeStableTimer=None to submit a
+              separate BuildSet for each Change.
+    
+          commit 0149db322141c3c667885569285e744ebb67165f
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Dec 16 13:20:57 2009 -0800
+    
+              add ['mergeRequests']=True to the Builder setup dictionary, for
+              simple per-Builder control of merging
+    
+          commit 62b686815459a69b31a3082c49d7f16bfc2062a4
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 10 16:50:54 2009 -0800
+    
+              fix db.start/stop, so real buildmasters and unit tests both work
+    
+          commit 4bbaae6006ed6b4fd2188a54fd316a852f265af2
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 10 16:44:14 2009 -0800
+    
+              make test_properties work
+    
+          commit 065b965c2bda63a957eca48f1b106a33f82d03a3
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Dec 7 21:09:48 2009 -0800
+    
+              fix test_slaves
+    
+              * builder.py: slaves which disconnect while we're doing
+                db.get_unclaimed_buildrequests are treated as if they
+                disconnected during the initial ping, to fix this race condition.
+                Remove .buildable, add getBuildable() to replace it.
+              * schedulers/manager.py: fix signature of trigger_modify_buildset()
+              * status/builder.py: fix signature of _db_buildsets_changed()
+    
+          commit 0bd05395ebb975401a359a063a139bb403836a41
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Dec 4 16:15:10 2009 -0800
+    
+              test_status.py: make it work
+    
+          commit 16bdb6d084fdc4fbc9c62e1ec20b3daf83b79ac5
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 3 23:41:06 2009 -0800
+    
+              test_steps: make it work (with run_one_build), hush pyflakes
+    
+          commit ea8b11f1ae9436108e756d84d30edd1f985c404e
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 3 23:38:09 2009 -0800
+    
+              test_vc, runutils: factor out run_one_build()
+    
+          commit 735429933774b1544002b9ca8fcc6729214cd434
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 3 12:02:07 2009 -0800
+    
+              oops, fix BotMaster, allow reconfig to work
+    
+          commit 9420a337e21bb9f7aeb17110c5cef587f377658c
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Dec 3 12:01:04 2009 -0800
+    
+              make test_vc.py work, fix patch handling in SourceStamps
+    
+          commit 885f152c3b06178ef7aa2465d3fccaa37c96eef9
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 30 17:47:37 2009 -0500
+    
+              make test_webparts. Also re-enable the pool.start() in
+              DBConnector.__init__ .
+    
+          commit 54f478f5ee5a4f91101348d957434f3be163ebc4
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 30 17:22:41 2009 -0500
+    
+              start making unit tests work: test_web now works
+    
+              * replace callLater(0) with eventual-send, so tests can flush the
+                queue at tearDown
+              * have each Loop assert that it is running whenever they get
+                triggered
+              * rewrite test/runutils.py to build a fake DB
+              * BotMaster: tolerate non-BuildSlave children (like the Loop
+                instance) when replacing the builders
+    
+          commit 596a62d59883d53b664d33e7e632c3eefc4016d0
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 30 17:17:54 2009 -0500
+    
+              add eventual-send operator (copy eventual.py and tests over from
+              Foolscap)
+    
+          commit 99b414b8d8610c4b1fe681ff2d9eab4381b008f1
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Nov 25 11:34:49 2009 -0800
+    
+              db/status.builder: fix boneheaded bugs
+    
+          commit 2131e7b902e3a67417f82c93261ebdc069355054
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Nov 25 11:33:50 2009 -0800
+    
+              loop: make it a MultiService, stop timers in stopService
+    
+          commit 79c264df79a73479f8c249de624f02c75db37745
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 23 18:14:38 2009 -0800
+    
+              replace submitBuildSet/submitBuildRequest with new working form.
+              Bring back words/web forceBuild functions.
+    
+              * create BuilderControl directly, not with adapter; give it a
+                Control reference
+    
+          commit 382fecd9288688d40ebddbdfa54b528db0989ecf
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 23 18:10:08 2009 -0800
+    
+              remove buildset.py, it's been subsumed by DB rows
+    
+          commit 069d14c0a06cc17a1496a6606ed1412f47942de5
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 23 18:09:38 2009 -0800
+    
+              schedulers: remove now-redundant Builder notification call, rely on
+              DB.notify
+    
+          commit 97cd95770d943cfcfb2f5b2568998c1c0faf454b
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Jan 7 15:11:53 2010 -0800
+    
+              big changes: port Try schedulers, DB-based notification system,
+              'builds' table
+    
+              also:
+              * move BuildRequest out of buildbot.process.base
+              * move most BuildRequest/BuildSet interaction into db
+              * implement BuildRequest.subscribe/BuildSet.waitUntilFinished with
+                db
+              * stop requiring db.retire_buildset() caller to wake schedulers,
+                use notify()
+              * extract BuildRequestStatus/BuildSetStatus from db
+              * temporarily disable web/irc "force build" button
+                - until new submitBuildRequest interface is created
+              * disable IBuildRequestControl methods
+    
+          commit b314d4a4f41f6cf1c4292cba66f61cbda101ae44
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 23 14:46:13 2009 -0800
+    
+              tryclient.py: fix long-standing bugs: PB code would connect twice,
+              build results checked incorrectly
+    
+          commit 88074ffde42b08e008079519eddbcc92547d151b
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 23 14:42:19 2009 -0800
+    
+              util.py: add DictOfSets
+    
+          commit e1ac70caaad83f460ef5d06c39ce85f1b6d07346
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 23 14:11:50 2009 -0800
+    
+              schedulers/timed.py: return absolute wakeup time, handle first
+              build correctly
+    
+          commit 8f5241054068445464a7569e60e445fa99d62377
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Nov 10 17:39:15 2009 -0800
+    
+              BaseScheduler.create_buildset: allow builderNames= to be
+              overridden, for Try
+    
+          commit fe8687ff5a73508a354a21512cd9bc82ec324187
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Jan 7 15:49:58 2010 -0800
+    
+              retry builds interrupted due to slave disconnect
+    
+              Also add RETRY to the list of css_classes, now that's a possible
+              result.
+    
+          commit 1143968e9f60226b298229cfed326f1401a458b3
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Nov 5 17:30:22 2009 -0800
+    
+              schedulers: factor out get_state/set_state into _Base
+    
+          commit f1f60d02c436957434e69fd085da2dbd8030c4e2
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Nov 5 17:12:15 2009 -0800
+    
+              DB.get_unclaimed_buildrequests: oops, forgot the join, causing
+              builds to acquire more and more Changes over time
+    
+          commit 0375d831b3e696ceb767551bd930ca79abf282c4
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Nov 5 16:11:10 2009 -0800
+    
+              db.py: drop the "nonpool" connection on error, to provoke a new
+              connection next query. This fixes e.g. Waterfall after the database
+              has been bounced.
+    
+          commit 6c5394f9b62cda9559ece20b3a012aa1c3e953d7
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Nov 5 15:07:35 2009 -0800
+    
+              master: recognize+steal our earlier claims quickly, by looking for
+              a matching mastername but different incarnation
+    
+          commit f298aade17654d69b2a349e1e48a86f0d0ab4a30
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Nov 5 12:22:08 2009 -0800
+    
+              db.py: record start/finish times in both buildsets and
+              buildrequests, for historical monitoring
+    
+          commit b2fd7f4f3bce0b1b3bcce3b48d0fc5399d8e45fa
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Nov 4 17:12:34 2009 -0800
+    
+              scheduler.py: replace old non-DB schedulers with imports of
+              schedulers/*.py
+    
+          commit 75c9b82a57bafcb206df3f248a1e6d661a301151
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Nov 3 12:23:09 2009 -0800
+    
+              BotMaster.stopService: oops, upcall to the right parent class, to
+              fix test_db
+    
+          commit 393b4e6e9132709d8a21006667c7691c369e0a5d
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 2 17:47:07 2009 -0800
+    
+              db.claim_buildrequests: don't reclaim an empty list
+    
+          commit b7b3882c4b97a80060ad62c15d73ade03d9962ba
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 2 17:35:04 2009 -0800
+    
+              Builder: update the claim on active builds every 10 minutes.
+    
+              Made Builders into service children (of the BotMaster) to make it
+              easier to manage the timer. Changed db.claim_buildrequests to
+              create a transaction if necessary.
+    
+          commit 03e17bc4ad0b846f006dee0effe7dae50d2dec4b
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 2 15:35:27 2009 -0800
+    
+              Triggerable: port to DB, use buildset subscriptions to implement
+              waitForFinish
+    
+              db.py: replace create_sourcestamp with get_sourcestampid, add
+                     ssid=None to SourceStamp, to make it easier to start builds
+                     with old SourceStamps
+    
+          commit 6e1fa2184c23d196f3727bc7b0836287caa7e55c
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Oct 28 16:34:04 2009 -0700
+    
+              make Dependent schedulers work.
+    
+              - always create BuildSet
+              - remove BuildRequest properties, use BuildSet props instead
+              - move sourcestampid and reason to BuildSet
+              - db.retire_buildrequests is responsible for retiring BuildSets
+                too, and triggering the Scheduler loop as necessary
+              - added DB table for downstream schedulers who've subscribed to a
+                buildset
+              - move defaultdict to buildbot.util
+    
+          commit a11e3a20ce6b91d18f3503dc846f98507ae3921e
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Oct 27 14:10:52 2009 -0700
+    
+              fix SQL to work with MySQL, thanks to Chris Atlee for doing all the
+              work
+    
+          commit dece30624d9ffeb66997c889190ffb73c3685436
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Oct 27 10:26:06 2009 -0700
+    
+              test_config: update about half of the tests to the new setup
+              process
+    
+          commit 433710cb74d58ecdff07cd4fd70c1c7702d25efd
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Oct 27 10:24:54 2009 -0700
+    
+              runutils.py: add ShouldFailMixin
+    
+          commit 196aa14e1cbf61db69de483c0bfed3ba531ad318
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Oct 26 17:07:16 2009 -0700
+    
+              port Triggerable, except SourceStamp handling is incomplete
+    
+          commit 16abcad4d60409b117c37b78f08ab62abd007435
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Oct 26 16:21:03 2009 -0700
+    
+              port AnyBranchScheduler, Periodic, Nightly to new DB-based scheme.
+              Untested.
+    
+          commit ccea6ceb18b2ab739eab259c57677ff794efaa6b
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Jan 7 15:56:33 2010 -0800
+    
+              split new schedulers out into separate schedulers/ files
+    
+              add buildbot.schedulers to list of packages in setup.py
+    
+          commit ab20201ba1fce8e183483a29efba1252d128dfbd
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Oct 26 10:42:17 2009 -0700
+    
+              test_change.py: make it work, allow revision=None in Changes (for
+              CVS)
+    
+          commit 3317ccffba2d4e88b27dc9f331d499523dbb8210
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 16:54:52 2009 -0700
+    
+              db.py: add a generic key-value store, for things like ChangeSources
+              to use
+    
+          commit d75479863a02851143c7b5cf6f4615c852af64e8
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 16:35:30 2009 -0700
+    
+              move Builder DB-using code into db.py
+    
+          commit 9eccfb15a5ca24c97e4843d8b446536b0d166af5
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 16:27:21 2009 -0700
+    
+              consolidate BuildRequestManager into db.py
+    
+          commit fa41492ef1f74e2d0854102fe9cf31cb03618502
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 16:20:32 2009 -0700
+    
+              move Scheduler DB calls into db.py
+    
+          commit 9e071c45e3544cf5a26dff46844627a59a776039
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 15:33:54 2009 -0700
+    
+              consolidate get_properties_from_db() into db.py
+    
+          commit c69bb320946518703d4c657c38dd5e450e2d4320
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 15:24:56 2009 -0700
+    
+              consolidate SourceStampManager into db.py
+    
+          commit 94c660162f5e55ed08c1f075a7408e05779b6a2a
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 15:11:40 2009 -0700
+    
+              consolidate ChangeManager DB-using code into db.py
+    
+          commit 8fa122ee351657569852cc01f628ea22de820059
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Fri Oct 23 14:43:11 2009 -0700
+    
+              test_changemaster: make it work, but changeHorizion= is disabled
+              for now
+    
+          commit b11e68f35a7b396d30af6a0d892ba1a7d9ecb1b0
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Oct 22 16:43:50 2009 -0700
+    
+              ChangeManager: update getChangeNumberedNow, now waterfall doesn't
+              crash! yay!
+    
+          commit 35dfca9be8df20bace9998c92a8fb3e725871682
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Oct 22 16:22:21 2009 -0700
+    
+              Scheduler: don't use ComparableMixin, since it interferes with
+              using Schedulers as dict/set keys inside a Loop. Trigger the
+              Builder loop at the end of the whole scheduler run, not in the
+              middle, since the DB transaction will not have finished yet.
+    
+              This gets me working builds, however status displays are still
+              broken.
+    
+          commit 2253c70cc84d286abe8fa6379aee10fbde95679d
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Oct 22 16:20:24 2009 -0700
+    
+              loop: add loop_done() hook
+    
+          commit 2de4d8178023feb03743f09820567d271128157c
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Oct 21 16:47:11 2009 -0700
+    
+              scheduler: provide per-Scheduler state, rewrite in terms of
+              transactions
+    
+          commit 525d1cdb23648f7d2c4426bfed319ec82b9a5de8
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Oct 21 15:40:16 2009 -0700
+    
+              scheduler: factor out a base class, to make porting other
+              Schedulers easier
+    
+          commit 292cbadbe066ad3acf8fbda9f57e393d4f17e658
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Oct 21 14:25:17 2009 -0700
+    
+              update Builder to use DB, add basic unit test
+    
+          commit 93d72a55340ec4465c3f10159b9395018c3fb272
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Oct 21 14:16:17 2009 -0700
+    
+              fix BuildRequest/SourceStamp processing
+    
+          commit cd85afcbe5c2bde1f74112081ca04c2b186b00a4
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Oct 15 14:36:51 2009 -0700
+    
+              fix get_properties_from_db, make ChangeManager use it
+    
+          commit 8ddd47ec318a06efab435c99010030e9f9453f85
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Oct 15 14:35:11 2009 -0700
+    
+              fix LRUCache and its users
+    
+          commit 87269482fa70ed246152183e76559a014306607a
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Oct 14 16:24:54 2009 -0700
+    
+              Create "sourcestamp manager" to replace getSourceStampNumberedNow
+              function, create new buildbot.buildrequest.BuildRequest and
+              BuildRequestManager to fetch buildreqs, add
+              get_properties_from_db() utility
+    
+          commit e2d94ae5cfe99b73591102b0fbbcb9d7299bff90
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Oct 14 16:23:35 2009 -0700
+    
+              add util.LRUCache, make ChangeManager use it, add t= to
+              ChangeManager.getChangeNumberedNow
+    
+          commit 07d3069d5ef764f265626ac8f14aa8b16734d4b0
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Oct 6 15:05:56 2009 -0700
+    
+              wire the changes/scheduler/builder Loops together properly
+    
+              Builders still aren't converted, so this will break when it
+              actually tries to start a build.
+    
+          commit 21a42e09478608abf23e2bc8cc961113064ac425
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Oct 6 11:37:28 2009 -0700
+    
+              loop.py: add DelegateLoop, which takes a callable to get the list
+              of processes
+    
+          commit 965459facad9ff4e1a81ddc91463fe818c69be0a
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Oct 5 21:17:11 2009 -0700
+    
+              db: add submitted_at to BuildRequest record
+    
+          commit e11328e8d902fcb0ae785186df0102e0f0d965f5
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Oct 1 16:08:37 2009 -0700
+    
+              minor formatting changes, plan for scheduler to notify
+              slave-manager
+    
+          commit 3c081750f7693c6e293bfb79cce298a983cc5bf6
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Oct 1 15:56:43 2009 -0700
+    
+              Finish basic Scheduler: now puts BuildRequests in the db.
+    
+              Defined BuildSet/BuildRequest/SourceStamp tables, rewrote Scheduler
+              to use db.runInteraction. Added
+              sourcestamp.getSourceStampNumberedNow(). Fixed test_db to use
+              separate per-test workdirs, and to assert the scheduler actually
+              created BuildRequests in the db.
+    
+          commit 9b95d587a5cd9559a507368a70a8196aaad7dd81
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Sep 30 12:25:05 2009 -0700
+    
+              Update new Scheduler to use wakeup API, add basic Scheduler tests.
+    
+              The Scheduler doesn't yet add BuildRequests to the db, so much of
+              the tests are stubbed out.
+    
+          commit 6c3104c1642309936b0e4336c4580e0cbbeec811
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Sep 30 12:18:01 2009 -0700
+    
+              Add wakeup timers to Loop, to help tree-stable-timers in
+              Schedulers.
+    
+          commit dd42c5f867cacb6ba4fbdb386485d51e7eeaa803
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Thu Sep 17 18:01:55 2009 -0700
+    
+              Start on new Scheduler: check for unexamined Changes, classify
+              each, note when tree-stable-timer is expired and there are
+              important changes to build. Attach schedulers to a Loop, fire
+              them (for now) every 30 seconds.
+    
+              Other cleanups: add async ChangeManager.getChangeByNumber(),
+              getChangesByNumber, and getChangesGreaterThan. Add new scheduler
+              tables. Don't manually start the adapi pool to avoid sqlite
+              segfaults. Create MultiServiceLoop to manage schedulers and other
+              things that want to be driven by a Loop and be stored in a Service
+              hierarchy.
+    
+              Everything is still quite broken. No code to actually trigger
+              builds. Lots of debug prints. I'm seeing sqlite3.OperationalError
+              "database is locked" exceptions with multiple parallel INSERTs,
+              which may either need auto-retry or more code to limit/avoid
+              concurrency.
+    
+          commit 358744f98e7fbefe942f4e1e404ac68faa25b6c2
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Sep 15 18:05:10 2009 -0700
+    
+              Add notification-triggered processor-loop handling class. When
+              somebody modifies the database and sends a message through the
+              notification server, this is the code that will invoke the
+              Schedulers (or Builders) one-at-a-time, non-reentrantly, and as
+              many times as is necessary.
+    
+          commit 7605a9163587d1b075fb455e0eb97ac10f43337b
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Tue Sep 15 16:50:17 2009 -0700
+    
+              Work with MySQL as well as SQLite: this involves schema changes and
+              using a placeholder specific to be backend ("%s" for MySQL, "?" for
+              SQLite). Clean up the schema, merging "changeid" and "number"
+              together as suggested by Kristian Nielsen.
+    
+              Also shut down the threadpool when we're done, to fix some
+              destructor exceptions, and make runner.py really exit, to fix a
+              hang.
+    
+          commit 731344def10327b3bd7257ca0de2ebba1c9aa28a
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Sep 14 17:21:57 2009 -0700
+    
+              set DB type in buildbot.tac, rather than master.cfg . Add --db
+              argument to create-master and update-master, to specify the DB to
+              be created.
+    
+          commit c60fde95d6cb5b543ccfb8809a5bd93709ba467f
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Mon Nov 2 17:44:02 2009 -0800
+    
+              add DB-migration of changes.pck to "upgrade-master" tool, create DB
+              in "buildbot master".
+    
+              * Create ChangeManager class, leave stub of old ChangeMaster in
+                place for pickle compatibility.
+              * Implement DB-based getChangeNumbered and eventGenerator methods
+                in ChangeManager.
+              * Add unit tests.
+    
+              The new test_db works, but lots of others are currently broken.
+              However, this version shouldn't clobber changes.pck like the
+              previous one.
+    
+          commit 917831317892337517ad4a81d1e3fe3781682b9d
+          Author: Brian Warner <warner@lothar.com>
+          Date:   Wed Sep 9 18:48:25 2009 -0700
+    
+              database-backed scheduler project: first steps. Create sqlite
+              database, store changes in it (in addition to the changes.pck
+              pickle and in RAM), nothing more.
+    
+              Broken in this snapshot: reading of old changes.pck pickle, but it
+              still gets written, so using this version will clobber that file.
+    
+              Still to do for this milestone: read changes.pck on demand, make
+              eventGenerator/getChangeNumbered async, stop writing to
+              changes.pck, move classes out of the way so a pickle-loading
+              migration tool can be written, write that migration tool.
+    
+      commit 3e80bcb2e9dc2930e41ab615b4d2d15ccfc65982
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 01:20:46 2010 -0800
+    
+          eventual.py: add eventual-send operator, copied (with tests) from
+          Foolscap
+    
+      commit 21e12be626f835a3a7c040a0c319be96d13f68d7
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 01:19:13 2010 -0800
+    
+          loop.py: a notification-triggered processor-loop handling class
+    
+          When somebody modifies the database and sends a message through the
+          notification server, this is the code that will invoke the
+          Schedulers (or Builders) one-at-a-time, non-reentrantly, and as many
+          times as is necessary. It is a MultiService, and cleans up in
+          stopService (to make tests easier). The code that it runs can return a
+          wakeup time to get re-run at some point in the future. A loop_done()
+          hook is available too.
+    
+      commit ee9c72f6bb3d63e5c0ba41222e9f04853a678b9d
+      Author: Brian Warner <warner@lothar.com>
+      Date:   Fri Jan 8 01:15:03 2010 -0800
+    
+          util.py: add DictOfSets (with tests), LRUCache, defaultdict (for py2.4)
+
+commit 3785c599e9bcaaaa9018aa38312a8c09389e3646
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 19:20:02 2010 -0800
+
+    eventual.py: add eventual-send operator, copied (with tests) from Foolscap
+
+commit 4e102fdab84aed4482f4438c441b4c32dbead5fe
+Author: Brian Warner <warner@lothar.com>
+Date:   Sun Feb 14 19:19:22 2010 -0800
+
+    loop.py: a notification-triggered processor-loop handling class
+    
+    When somebody modifies the database and sends a message through the
+    notification server, this is the code that will invoke the Schedulers (or
+    Builders) one-at-a-time, non-reentrantly, and as many times as is necessary.
+    It is a MultiService, and cleans up in stopService (to make tests easier).
+    The code that it runs can return a wakeup time to get re-run at some point in
+    the future. A loop_done() hook is available too.
+
+commit ee9c72f6bb3d63e5c0ba41222e9f04853a678b9d
+Author: Brian Warner <warner@lothar.com>
+Date:   Fri Jan 8 01:15:03 2010 -0800
+
+    util.py: add DictOfSets (with tests), LRUCache, defaultdict (for py2.4)
+
+commit b1f890eedf0afa3e3a4697fa1c4bce768f43e4fd
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 14 16:50:26 2010 -0600
+
+    break out 'Schedulers' section, add indices for each section
+
+commit c887205a20b33054a15786386a1eedc257c6c424
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 14 16:44:51 2010 -0600
+
+    move 'Change Sources' under 'Configuration'
+
+commit 41b9ffa07b0d0663eca7a508c8fcf2cb4b57ee02
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 14 15:15:36 2010 -0600
+
+    Support building docs in both split and full HTML
+
+commit fac0e586b6eecb46f90e2c74dad14f2ff4a5eb6d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 14 15:06:09 2010 -0600
+
+    add pointer to API docs
+
+commit bc571c8c9046d322d0dd04d3ef5fbd0917b885df
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Feb 14 15:02:32 2010 -0600
+
+    split documentation into per-chapter files
+
+commit 2df1cae85385220db744b1522493799317795ae5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 23:54:17 2010 -0600
+
+    use path_to_foo() functions instead of hand-crafted relative paths
+
+commit 63e2d5d5b0fd039efa6cc4e120d4729fbfb205d7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 23:43:51 2010 -0600
+
+    Replace /builders with contents of /one_box_per_builder
+    
+    These two views were redundant, so I collapsed them at the more logical
+    URI (/builders) with the more informative display (OneBoxPerBuilder)
+
+commit ed45eb73ad25da0a78f11dda191581a94b76b48f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 23:23:07 2010 -0600
+
+    factor OneBoxPerBuilder and OneLinePerBuild out into modules
+    
+    This cleans up baseweb nicely to only include WebStatus.
+
+commit 2182c1cf95e32698b0ba907ca78febe98c4ac8b5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 23:10:20 2010 -0600
+
+    remove unused LastBuild and getLastNBuilds from baseweb.py
+
+commit 9c2bf24dbf98dbb21e0a470b05e4cdc95e451ccc
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 22:52:01 2010 -0600
+
+    make notifications a bit more resilient to missing methods
+
+commit d90ec4632dccc6e6b4680463921333b5e7878507
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 22:47:50 2010 -0600
+
+    avoid unreferenced variable in build list
+
+commit 7572c5bdad4a09393b665fff2939e605df58deb1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 20:50:20 2010 -0600
+
+    allow individual control of all web-based actions
+    
+    This replaces allowForce=.. and auth=.. with an Authz object, which
+    can specify how to handle:
+     * gracefulShutdown
+     * forceBuild
+     * forceAllBuilds
+     * stopBuild
+     * stopAllBuilds
+     * pingBuilder
+     * cancelPendingBuild
+    
+    fixes #701
+
+commit 08329985a90294e7556fd694011ffb4b6762a183
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 22:26:59 2010 -0600
+
+    remove some dead code
+
+commit 6f90f6912dcf0cbd2b439f556b398c63e0691243
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 14:49:42 2010 -0600
+
+    remove deprecated html.Waterfall
+
+commit cda42b9cb905d13ccd4c49aed2b367918a1a79f3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 14:22:49 2010 -0600
+
+    go back to just adding simplejson to the reqs in 2.5 and below
+
+commit 943c498e3b1e6440bf0ea869201c344d3294a75d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 13:23:02 2010 -0600
+
+    Try just unconditionally requiring simplejson
+
+commit c06c66d9aaf577625ca158bacc80ea5c853324c9
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 12:52:30 2010 -0600
+
+    add additional diagnostic information to simplejson deps
+
+commit 71a80fdfd4ebfe28bfa4f6db04661a6e2a1bd190
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 12:30:10 2010 -0600
+
+    Don't fail if getChangeForBuild gets None for a build
+    
+    I'm not sure why this would happen, but this change should prevent it
+    from crashing.  Fixes #705, hopefully.
+
+commit bdb4bd19a6663b3a56431b449fc28a284d5824b2
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 11:50:23 2010 -0600
+
+    require simplejson on <Python-2.6
+    
+    Similar to ticket #700 - we should use the same technique there.
+
+commit 46f58349abf72af13a1fa27c522b3ca9370624bd
+Merge: 758a8d7 d6482ad
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 11:28:17 2010 -0600
+
+    Merge branch 'dj_master' of git://github.com/maruel/buildbot
+    
+    * 'dj_master' of git://github.com/maruel/buildbot:
+      Messed alignement when I reformated the file, causing incorrect behavior.
+
+commit 758a8d76339e7319f09d47532967e5afeb376c5a
+Merge: 0c688cd 777bf62
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Feb 13 11:27:57 2010 -0600
+
+    Merge branch 'master' of git@github.com:djmitche/buildbot
+    
+    * 'master' of git@github.com:djmitche/buildbot:
+      Move asDict() next to html_dict() (no functionality change)
+      Point to refs #658
+
+commit 777bf6255de59a327f27300517f316b71a805cee
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Feb 13 10:39:36 2010 +0100
+
+    Move asDict() next to html_dict() (no functionality change)
+
+commit d6482ada1e1a36aacf1e7cd6f8aa00220bd18008
+Author: M-A <maruel@gmail.com>
+Date:   Fri Feb 12 20:32:18 2010 -0500
+
+    Messed alignement when I reformated the file, causing incorrect behavior.
+
+commit b132c593336f4e923e45382ec81e418a46e29c65
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 12 08:25:13 2010 +0100
+
+    Point to refs #658
+
+commit 0c688cd380e7d2cb601818084d600f231e8062ba
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Feb 12 00:45:46 2010 -0600
+
+    update NEWS for next release
+
+commit 2ef1a71f8c463a0909d7a58f72b388f4529f6572
+Merge: 90e716b 61b779f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Feb 12 00:36:18 2010 -0600
+
+    Merge branch 'treesize' of git://github.com/chasephillips/buildbot
+    
+    * 'treesize' of git://github.com/chasephillips/buildbot:
+      Fix a nit in TreeSize.
+
+commit 90e716b9c8fccea74a6abe6de46d80aa7c149f3a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Feb 12 00:29:59 2010 -0600
+
+    Document JSON view
+
+commit a4b696582e9799b4bf6ab96a385f53528007a8ba
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Feb 12 00:32:34 2010 -0600
+
+    move merged test scripts into new subdirectories
+
+commit 112a8d523147167bdae741876ba6206b60679cb0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Feb 12 00:31:15 2010 -0600
+
+    Jinjafy json status view
+
+commit 1d1d8708b969a25ef5545698c5c481d218b7e725
+Merge: bad3673 28ba9cc
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Feb 11 23:27:52 2010 -0600
+
+    Merge branch 'as_dict_djmitche' of git://github.com/maruel/buildbot
+    
+    * 'as_dict_djmitche' of git://github.com/maruel/buildbot:
+      Add status_json basic unit test.
+      Add test_sourcestamp to test sourcestamp.SourceStamp.
+      Add /json status.
+      Add asDict() member function to many status classes
+
+commit bad36732ade96899f632884ce22f5e44652829f3
+Merge: 6aef259 5eaeb61
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Feb 11 10:58:45 2010 +0100
+
+    Merge branch 'textclient' of github.com:krajaratnam/buildbot
+
+commit 5eaeb61191a2b3e12552fe3388b5de017627948c
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Feb 11 10:55:12 2010 +0100
+
+    Accept username/passwd as command line arguments in 'buildbot statuslog'
+
+commit 6fbe6362db58561960e91b9c8cdd26b5b668a9fc
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Feb 11 10:54:30 2010 +0100
+
+    Add support for username/passwd in TextClient
+
+commit 6aef259394ca223a0544ce5fd867ebbf6104a4e1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 10 22:36:09 2010 -0600
+
+    ignore twisted/ too
+
+commit 7982789428a23acc557f760d17da1e33bff12cf3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 10 22:34:56 2010 -0600
+
+    Fix console to not misrepresent older builds
+    
+    Change suggested by Aviv Ben-Yosef in ML thread "console does not match
+    waterfall for older builds (0.7.12 + CSS fix; SVN)"
+
+commit a73866f486a82963faedf5e5dc05eb3c33536cbe
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed Feb 10 22:44:11 2010 -0500
+
+    Fix checks for nextSlave / nextBuild hooks.
+    
+    A reconfig would break if you deleted the nextSlave / nextBuild hooks
+    since setup['nextSlave'] would raise a KeyError.
+
+commit d66e8646560d87b2d8c6103d11c79595fc5db78e
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Wed Feb 10 14:31:09 2010 -0500
+
+    Adding tests for slaveConnected / slaveDisconnected
+
+commit 13cd4af6dab5eddbc777393372b29ac1bd7fcb22
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Fri Jul 17 16:18:08 2009 -0400
+
+    Adding slaveConnected / slaveDisconnected hooks for status plugins
+
+commit 41ac805e2c9c925951293dd8bd0fd993f283fd62
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Feb 10 14:46:27 2010 +0100
+
+    Epydocify TextClient constructor
+
+commit 8df061a04deb2ab72a23f810131a24508683717e
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Feb 10 14:19:17 2010 +0100
+
+    Remove the main loop. We already support this through 'buildbot statuslog'
+
+commit 61b779ffda010eb0bc3d8c27e918f8a6dd7d9978
+Author: Chase Phillips <cmp@google.com>
+Date:   Tue Feb 9 16:08:34 2010 -0800
+
+    Fix a nit in TreeSize.
+    
+    Set the default TreeSize description and descriptionDone
+    values on the class.  Remove setting defaults on kwargs.
+
+commit 28ba9cc5e94b656b9d1f23b892f6792913b69c01
+Author: M-A <maruel@gmail.com>
+Date:   Tue Feb 9 16:59:31 2010 -0500
+
+    Add status_json basic unit test.
+
+commit 280ea81ec05d9271a2c54fdc955ed6a93ac6922d
+Author: M-A <maruel@gmail.com>
+Date:   Tue Feb 9 15:27:10 2010 -0500
+
+    Add test_sourcestamp to test sourcestamp.SourceStamp.
+
+commit b2bbbeb9b5726e98c255e5c0d758380982e6d871
+Author: M-A <maruel@gmail.com>
+Date:   Tue Feb 9 15:07:58 2010 -0500
+
+    Add /json status.
+
+commit 4c019d6053cbf226334a6d13794c680df064077b
+Author: M-A <maruel@gmail.com>
+Date:   Tue Feb 9 14:16:02 2010 -0500
+
+    Add asDict() member function to many status classes
+    
+    This is to ease json output generation.
+    
+    Conflicts:
+    
+    	buildbot/sourcestamp.py
+
+commit 6c91b3a850aff3df8b774d7190e3a59eb6bee341
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Feb 9 14:23:43 2010 +0100
+
+    Pass along string to master:port
+
+commit 251205cd74170999e866037041e83d82e629ac05
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 8 17:26:50 2010 -0600
+
+    add 'revision' to changes created by SyncmailMaildirSource
+
+commit f7206736f33473bb7d0727c89e5844d04beea099
+Merge: bf4f254 ba9247f
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Feb 6 09:29:20 2010 +0100
+
+    Merge branch 'rename_cleanup' of github.com:krajaratnam/buildbot
+
+commit ba9247f72c360825ffecc1c7b6286725e8a3f703
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Feb 5 15:18:07 2010 +0100
+
+    Lowercase directory names for consistency
+
+commit bf4f254d7bc171b1ae65ebd221056563d8f2e796
+Merge: 8243b2f 9522a0e
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Feb 6 08:31:47 2010 +0100
+
+    Merge branch 'master' of github.com:krajaratnam/buildbot
+
+commit 9522a0e52bfb222d85c3f04e1cb0909a5bd8714a
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Feb 6 08:15:09 2010 +0100
+
+    Doc: clarify that extraRecipients is a list of strings
+
+commit 8243b2fcb25aa0094f371edafc8a051a7d9702c2
+Merge: 9578207 559cfcc
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Feb 5 09:35:12 2010 -0600
+
+    Merge branch 'stepstatus' of git://github.com/chasephillips/buildbot
+    
+    * 'stepstatus' of git://github.com/chasephillips/buildbot:
+      Update text in Source and ShellCommand's status on hookup.
+
+commit 957820705272e7495795150d1800efbabb6e2367
+Merge: 61049c1 fa28452
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Feb 5 09:34:06 2010 -0600
+
+    Merge branch 'changes' of git://github.com/chasephillips/buildbot
+    
+    * 'changes' of git://github.com/chasephillips/buildbot:
+      Add changeAdded status notifications.
+
+commit 559cfccd541ad526b0d7a1ad155c38b9109620d5
+Author: Chase Phillips <cmp@google.com>
+Date:   Thu Feb 4 19:39:13 2010 -0800
+
+    Update text in Source and ShellCommand's status on hookup.
+    
+    start does not set text in Source and ShellCommand's
+    status soon enough to be captured in the status
+    receiver's notification.  Setting the text here prepares
+    the status for being sent when start is called.
+    
+    Set a default description and descriptionDone for
+    TreeSize to fix an error in a test.
+    
+    Add a test to verify that a ShellCommand's step_status
+    text is correctly set at setup and after it is complete.
+
+commit 61049c1a8881e693d838325fe003e14012c42c63
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Feb 4 18:05:02 2010 -0600
+
+    test that clobber worked the first time, extra debug info
+
+commit fa284526a920d36663d674b82d4c253294eb78d3
+Author: Chase Phillips <cmp@google.com>
+Date:   Thu Feb 4 15:09:06 2010 -0800
+
+    Add changeAdded status notifications.
+    
+    Add a status notification interface for changeAdded, and
+    configure the master to send this status notification
+    when addChange() is called.  This allows status
+    receivers to subscribe to change events.
+    
+    Add a unit test which injects a change into a master
+    and verifies in a status receiver that the change was
+    received and is exactly what was sent.
+
+commit 7761c3201da8480582fa078ca552b800ad6b5fa7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Feb 4 13:11:13 2010 -0600
+
+    use 'find $foo -exec chmod u+rwx {} ;' on FreeBSD
+    
+    chmod -Rf wasn't a complete solution
+
+commit adf8c8f9da684d8e575815d1b2684bc14af9965f
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Feb 4 12:56:52 2010 -0600
+
+    use chmod -Rf
+    
+    FreeBSD's chmod fails on directories for which it does not have rwx
+    permissions.  The -f allows chmod to modify permissions on such
+    directories (which makes buildbot's tests pass), but it does not then
+    recurse into the directory.
+
+commit 90d5b53b243bbb94a1a047cac13a114899f218b6
+Merge: a6caf0c 1b09232
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Feb 4 09:47:39 2010 -0600
+
+    Merge branch 'doc-warningPattern-take2' of git://github.com/clepple/buildbot
+    
+    * 'doc-warningPattern-take2' of git://github.com/clepple/buildbot:
+      Add to description of WarningCountingShellCommand
+      Manual: explain re.match vs re.search in Compile step
+
+commit a6caf0caee86cffffba839d3e4032e36dee32fb6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 21:38:49 2010 -0600
+
+    add path to DTD files in setup.py
+
+commit 1b09232628c4244906e30c4328287d1966ff86c0
+Author: Charles Lepple <clepple@gmail.com>
+Date:   Wed Feb 3 20:52:33 2010 -0500
+
+    Add to description of WarningCountingShellCommand
+    
+    This should override the inherited documentation.
+
+commit 1e8f326cb62bb5932119ec1c048d4668a9f145a7
+Author: Charles Lepple <clepple@gmail.com>
+Date:   Sat Jan 30 19:03:17 2010 -0500
+
+    Manual: explain re.match vs re.search in Compile step
+    
+    Mention WarningCountingShellCommand as well.
+
+commit 40617791d0d19b43099849b3a266a0ccb920c73d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 18:22:05 2010 -0600
+
+    make test_webparts run without 'net access
+
+commit 776f9575d8e9d8797fef21358033966cdac24af4
+Merge: 5e8b9b3 41f450c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 16:47:22 2010 -0600
+
+    Merge branch 'filter-by-committer' of git://github.com/jeisinger/buildbot
+    
+    * 'filter-by-committer' of git://github.com/jeisinger/buildbot:
+      Implement filtering events by committers. This allows for restricting the
+
+commit 41f450ce2123608be58daa73aadb95e8b89b039a
+Author: Jochen Eisinger <jochen@chromium.org>
+Date:   Wed Feb 3 23:36:13 2010 +0100
+
+    Implement filtering events by committers. This allows for restricting the
+    waterfall view to events generated by specific committers.
+    
+    TEST=test_status.EventGenerator
+
+commit 5e8b9b3e80481108ff9369e414d6d7b1bd8ed3c5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 16:10:03 2010 -0600
+
+    don't try to reset $HOME if it wasn't set to begin with
+
+commit 254cf9c8c130dc7e5fd31ebba035e408475d03ab
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 16:08:13 2010 -0600
+
+    don't TODO tests for interrupts on windows
+
+commit 783a2c2d56877432a205dc6e2cf4641e656c5875
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 16:02:10 2010 -0600
+
+    (fixes #679) render a helpful message when !DirectoryLister isn't avilable
+
+commit 2a99602da832efa665bde1f86ec86f773422fc4b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 13:07:28 2010 -0600
+
+    add note about order_console_by_time
+
+commit 803e6a8a3bd8e2f08be0fa00a782acd63daab714
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Feb 3 12:38:54 2010 -0600
+
+    don't assume that deferreds have fired - wait for them
+
+commit cc927945fc394953bc8a2aca9aefe389d46e7f92
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Feb 2 20:48:06 2010 -0600
+
+    wait for builds to finish before going onto the next test (fixes dirty reactor errors)
+
+commit cca82149fc640b44cd1d22768d252488438d5d28
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Feb 2 20:29:04 2010 -0600
+
+    remove debugging code
+
+commit e6739cd298709e275562ac23c0d13482ecb7658b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Feb 2 19:17:44 2010 -0600
+
+    skip interrupt tests on windows instead of TODO
+    
+    (since they may sometimes pass)
+    buildbot.test.unit.test_slavecommand.Shell.testInterrupt1
+    buildbot.test.unit.test_slavecommand.Shell.testInterrupt2
+
+commit 07dcb3552c0d3aa721537af67da81cae45335e11
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Feb 2 18:59:41 2010 -0600
+
+    Remove buildbot.test.runs.test_run.BuildPrioritization.testPriority
+    
+    This test was non-deterministic, and was breaking on several
+    buildslaves:
+      # this test depends upon this 0.5s delay landing us in the middle
+      # of one of the builds
+    Also, this behavior will change under schedulerdb, so rather than try to
+    rework it now just to see warner have to work it over again, I've
+    removed it.
+
+commit 2fec3623d1c0a1fa3a204ab8f083355dec1731cb
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Feb 2 23:34:05 2010 +0100
+
+    Fix HTML validation error (replace two spaces at a time instead)
+
+commit 9a1846686aa6ad439dc4459de711586b3ddbba69
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Feb 2 23:31:25 2010 +0100
+
+    Fix broken console test
+
+commit 05ba6573f9e77273440bc8bd4c32d8184c057475
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Feb 2 23:17:11 2010 +0100
+
+    Console view: Move some html from python to jinja-template + tweaks
+    
+     * use &nbsp; to preserve spaces in comments on console without using <pre> (looks ugly)
+     * show offline in different color from exception + add to legend
+     * minor css tweaks
+
+commit 9d184ee81e59ae3f33fd397346214a6b81292ca0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Feb 2 15:55:59 2010 -0600
+
+    fix syntax error (no base class for ContextMixin) in buildbot/status/web/base.py:150
+
+commit f405bda8fe7bb1b797cfedc170f41b4bc7568af2
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Feb 2 22:32:19 2010 +0100
+
+    Console: Merge css and fix some jinja issues
+
+commit 8b57a64f955f3f7ab536d06c93b44c0050a4bb42
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Feb 2 21:49:22 2010 +0100
+
+    Add ability to set title attribute on WebStatus changecommentlink:s (third string in tuple)
+    
+    Also enable changecommentlink in console view.
+
+commit 1a4cb4283a76d5463bd6ad3b55d003b7b1563363
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Feb 1 22:38:53 2010 +0100
+
+    Strip whitespace and quotes to allow string comparisons to succeed on windows
+
+commit b13fe25e4024080e1e38e3d406e83a6b37ac89fe
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Mon Feb 1 22:38:04 2010 +0100
+
+    Get Application data directoy using win32-api rather than deprecated env-var.
+
+commit 6bcc40085a01b561ef6b8a6dc25f18fa22c49ab0
+Merge: 5cb1859 b4df6bb
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Feb 1 15:20:20 2010 -0600
+
+    Merge branch 'test_newlines' of git://github.com/krajaratnam/buildbot
+    
+    * 'test_newlines' of git://github.com/krajaratnam/buildbot:
+      Test: fix a couple of newlines issues on Windows
+
+commit b4df6bbc09e0fbe188d65adf3ff81ea9f46181e3
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 1 22:01:18 2010 +0100
+
+    Test: fix a couple of newlines issues on Windows
+
+commit 5cb185952222b3d21466e4b577b7c9b4132cc8f5
+Author: Ian Zimmerman <itz@clustrix.com>
+Date:   Mon Feb 1 10:09:47 2010 -0600
+
+    defaultMessage should be a standalone function, not a method of
+    MailNotifier
+
+commit 8a28432bedb8f5b4694ad740ac5f79fe50a417d0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 23:23:32 2010 -0600
+
+    remove more unused scripts
+
+commit e1d013faaec96f0ac779d3bf4e4ca330f2d0b5ed
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 1 04:56:37 2010 +0100
+
+    Yet another dnotify.py that must die ;)
+
+commit ea5ee04910e89454ef87d1e9d3880ea44ab6762c
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Feb 1 04:55:00 2010 +0100
+
+    Remove dnotify.py which is completly unused
+    
+    Furthermore, it contains no Buildbot specific code. There is no reason to keep it here. RIP
+
+commit eab85709b36e8f403cd2af566c94bc6c0af9409e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 21:22:53 2010 -0600
+
+    fixed missed file move
+
+commit 8dbd10f9b14a6c0c83db9cab5da1191bb3de89fc
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 21:01:34 2010 -0600
+
+    fix whitespace dependency in test_console
+
+commit e538ce14c0dd4826cbfd36511007ed0456f15f19
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 20:59:04 2010 -0600
+
+    fix distribution stuff to correspond to new test file locations
+
+commit 26b5e6926c8a9aec2a6e22d3428191d42cb246e6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 20:52:08 2010 -0600
+
+    (fixes #683) add extra error-checking for bogus inputs to addStep
+
+commit 6cf36d1e3dd2696e1f304896ae4f53c4a2b70780
+Merge: 543fc52 dbb10db
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 20:29:35 2010 -0600
+
+    Merge branch 'test-reorg'
+    
+    * test-reorg:
+      reorganize tests into subdirectories
+
+commit 543fc529f4fc59182acd0c953a871384eaf0303e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 20:27:50 2010 -0600
+
+    fix typo
+
+commit dbb10db935a17e006460f2762d4bf2f4ab671e22
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 18:53:09 2010 -0600
+
+    reorganize tests into subdirectories
+
+commit f24dc81d11680836bae5f4324ad6c27ebfc30522
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 18:57:47 2010 -0600
+
+    fix a few test failures on windoze
+
+commit cb9c9703cf59ff2f405e08f3e1810d8ba8b49a38
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 31 17:20:13 2010 -0600
+
+    fix buildbot.status.words to import even if PyOpenSSL isn't installed
+
+commit f8c513c86c0baf6f8e586d1dc56a032fe18d99a9
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sun Jan 31 12:21:37 2010 +0100
+
+    Rename scripts/tryclient.py -> clients/tryclient.py
+    
+    It makes more sense to place the tryclient inside buildbot.clients since it is yet another buildbot client (similar to buildbot.clients.sendchange)
+
+commit 456a22f1ed5412d94096407bf0a254950de9a5c9
+Merge: 6cc9707 e11c5c6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Jan 30 13:05:54 2010 -0600
+
+    Merge branch 'python24_fixes' of git://github.com/krajaratnam/buildbot
+    
+    * 'python24_fixes' of git://github.com/krajaratnam/buildbot:
+      set is a builtin type in python-2.4
+      Remove gzip.GzipFile workaround for versions less than python-2.4
+      Remove bz2.BZ2File workaround for versions less than python-2.3
+      Remove email.MIMEMultipart workaround for versions less than python-2.2.2
+
+commit e11c5c60beb2aeb10c1fe6288d4dab6ba2cccf67
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Jan 30 19:09:31 2010 +0100
+
+    set is a builtin type in python-2.4
+
+commit ab500d1b26280b2b188d0fb72d85dbbf4315f1f6
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Jan 30 19:02:44 2010 +0100
+
+    Remove gzip.GzipFile workaround for versions less than python-2.4
+
+commit 58d2fa449a23aa269d6d0341737f043cd9a3646a
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Jan 30 18:52:26 2010 +0100
+
+    Remove bz2.BZ2File workaround for versions less than python-2.3
+
+commit 1f7c70765fdddb49ccac5bf814729a873bbd7b0b
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Jan 30 18:35:10 2010 +0100
+
+    Remove email.MIMEMultipart workaround for versions less than python-2.2.2
+
+commit 6cc970788a4f50d5f2b15bae1b4169c4b6aefd6b
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Jan 30 15:16:01 2010 +0100
+
+    PerforceExtractor: document limitation and usage
+
+commit b67ecd8d9d9729937dafccfaa38af6944610e0b6
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Jan 30 13:54:44 2010 +0100
+
+    PerforceExtractor: require that the user specify a branch
+
+commit 727446f884f7909ed0db3db1eaf88746168a3a70
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sat Jan 30 13:48:12 2010 +0100
+
+    PerforceExtractor: raise an exception if we couldn't extract the changelist number
+
+commit f881c60658b93722407908654189e24d766c9a08
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Jan 28 19:06:16 2010 +0100
+
+    PerforceExtractor.getBaseRevision(): quote arguments properly
+
+commit 2bcb5d93ad6c34505681cb9d9a5adf0e9a863f60
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Jan 28 13:57:05 2010 +0100
+
+    Advertise the newly added Perforce TryClient
+
+commit 64f18856e348cfeeb2d6823f57df46c5424c71c0
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Jan 28 09:25:52 2010 +0100
+
+    TryClient: add Perforce support (fixes #258)
+    
+    Initial patch by Karl Koehler.
+    
+    There is still some work to do here. Mostly documentation.
+
+commit dd62a6476bb66e7faad00dbec5f82f576f0cafee
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Fri Jan 29 20:38:29 2010 +0100
+
+    Test: remove 'substring in string' workaround for < 2.3
+    
+    We now require Python 2.4 and the Python docs states the following:
+    
+    "..When s is a string or Unicode string object the in and not in operations act like a substring test. In Python versions before 2.3, x  had to be a string of length 1. In Python 2.3 and beyond, x may be a string of any length.."
+
+commit 08807d63dc34ae4207d27eaffdbd1a46ce704d66
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 28 22:20:39 2010 -0600
+
+    update CREDITS
+
+commit 4109ed9b7ea237ce57b55fcbf29713d6f9a99c3b
+Merge: c21207f 0c0d528
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 28 13:54:13 2010 -0600
+
+    Merge branch 'try_getopt' of git://github.com/krajaratnam/buildbot
+    
+    * 'try_getopt' of git://github.com/krajaratnam/buildbot:
+      Try.getopt() only accepts 3 arguments
+
+commit c21207f2686aa8d1f2480755cd574a535e34de3f
+Merge: d16840f db6145c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 28 13:52:28 2010 -0600
+
+    Merge branch 'try_builder_names' of git://github.com/krajaratnam/buildbot
+    
+    * 'try_builder_names' of git://github.com/krajaratnam/buildbot:
+      Try: remove statement which reference an unknown attribute
+
+commit 0c0d528a3a4562cdd03d8eacb27c18a655a4059e
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Jan 28 19:01:40 2010 +0100
+
+    Try.getopt() only accepts 3 arguments
+
+commit d16840f0256e536310680ec6db473d9540c298b7
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 28 12:26:58 2010 -0600
+
+    remove slavebuilder images, too
+
+commit 4339e66d11f6f547d9711e14600c86938f1b988d
+Merge: 8bdf0d1 f8607b3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 28 12:23:38 2010 -0600
+
+    Merge branch 'figures' of git://github.com/gvalkov/buildbot
+    
+    * 'figures' of git://github.com/gvalkov/buildbot:
+      - Replaced documentation figures
+
+commit f8607b3ebc828edd015850ac6599d77a066058bf
+Author: gv <gv@apollo.(none)>
+Date:   Thu Jan 28 19:03:32 2010 +0200
+
+         - Replaced documentation figures
+          * The slavebuilder figure was merged with the master figure
+          * Added an auto-crop step to images/Makefile
+
+commit db6145cc9424b84af146370f92ffcd72325cda33
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Thu Jan 28 17:02:48 2010 +0100
+
+    Try: remove statement which reference an unknown attribute
+
+commit 8bdf0d1a21c27583b710202ab87c2604c99ee2e1
+Author: Michael MacDonald <mjmac@pobox.com>
+Date:   Wed Jan 27 12:07:33 2010 -0500
+
+    * fix broken useSSL patch
+
+commit 31ef6630c7cd322e6814cb16f4ebb2d7581de77b
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Jan 27 17:27:14 2010 +0100
+
+    Fix line endings on windows files (no functionality change)
+
+commit f45d016cf0f47dfbb16d1117c1f5ebe1141f8026
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Jan 27 09:30:24 2010 -0600
+
+    compare mercurial repos without trailing slashes (fixes #694)
+    
+    This simply strips the trailing slashes from the repositories before
+    comparing the strings.  This may be covering up a deeper problem,
+    though.
+
+commit fd52b6564bf33c83eec22d6a2838bb80836f76cb
+Merge: d7910cd 9ba8494
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Jan 27 09:20:10 2010 -0600
+
+    Merge branch 'readme_fix' of git://github.com/krajaratnam/buildbot
+    
+    * 'readme_fix' of git://github.com/krajaratnam/buildbot:
+      README: require python-2.4 or later due to Jinja2
+      README: Add Jinja2 to the list of requirements
+
+commit d7910cd007e658c079a883eddf6d5bd3ea56b1b9
+Merge: 36aa204 bc44cbe
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Jan 27 09:20:06 2010 -0600
+
+    Merge branch 'p4env_vars' of git://github.com/krajaratnam/buildbot
+    
+    * 'p4env_vars' of git://github.com/krajaratnam/buildbot:
+      P4Poller: pass through important environment variables (fixes #625)
+
+commit 9ba8494a3518856e70728d6dd5206c512d57454a
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Jan 27 14:15:00 2010 +0100
+
+    README: require python-2.4 or later due to Jinja2
+
+commit 7a114dd81068f00279466f68da819056a80dbf16
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Jan 27 14:07:20 2010 +0100
+
+    README: Add Jinja2 to the list of requirements
+
+commit bc44cbe9fed2cc732098fc12cebc6790d7c43097
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Wed Jan 27 09:46:57 2010 +0100
+
+    P4Poller: pass through important environment variables (fixes #625)
+    
+    Previously all variables had to be passed through as command line arguments (through P4Source). Note, environment variables do not have higher precedence than command line arguments, so this shouldn't break any existing users.
+
+commit 36aa204e2f9eba3650777d6b7367199ef2c4d82c
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Jan 26 22:17:34 2010 +0100
+
+    MANIFEST.in: static files are placed under buildbot/status/web/files/*
+
+commit 095dec3b3f9a4480d95aac71afc8fd55ab4cd04c
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Jan 26 22:03:40 2010 +0100
+
+    MANIFEST.in: robots.txt already covered by buildbot/status/web/files/*
+
+commit c956779c084c27850eeb688d95ffb06fc46c0179
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Jan 26 21:56:37 2010 +0100
+
+    setup: place web stuff correctly
+    
+    Make sure that the following files are correctly placed under buildbot/status/web/files
+    
+    * bg_gradient.jpg
+    * default.css
+    * robots.txt
+    
+    Else the following error occurs:
+    
+    $ buildbot create-master .
+    ...
+    IOError: [Errno 2] No such file or directory: 'c:\\Python26\\lib\\site-packages\\buildbot\\scripts\\../status/web/files/robots.txt'
+    ...
+
+commit 7daa964b97bb24ba705513d30582ef7d1e24e8e5
+Merge: 0362677 5c6312b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Jan 26 14:08:14 2010 -0600
+
+    Merge branch 'makefile' of git://github.com/krajaratnam/buildbot
+    
+    * 'makefile' of git://github.com/krajaratnam/buildbot:
+      Makefile.sample: add some error checking
+
+commit 5c6312b4cb2a67f063485216262c8dcf08df7418
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Jan 26 20:34:46 2010 +0100
+
+    Makefile.sample: add some error checking
+
+commit 0362677160a2c0784d3d68956e423eb2722e4c4f
+Merge: 6c924c7 196196b
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Jan 26 13:32:29 2010 -0600
+
+    Merge branch 'perforce_2009_1' of git://github.com/krajaratnam/buildbot
+    
+    * 'perforce_2009_1' of git://github.com/krajaratnam/buildbot:
+      P4Poller: handle new Perforce 2009.1 operations
+      P4Poller (test): change to use move/add (feature introduced in Perforce 2009.1)
+
+commit 196196b08570a3373ed6c8889923917fddf09475
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Jan 26 19:43:32 2010 +0100
+
+    P4Poller: handle new Perforce 2009.1 operations
+    
+    Ensure that we parse the newly introduced (Perforce 2009.1) operations such as move/add and move/delete
+
+commit 6b0517adc463b1e8bc6af9b26f340702f4cbc174
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Tue Jan 26 19:24:34 2010 +0100
+
+    P4Poller (test): change to use move/add (feature introduced in Perforce 2009.1)
+    
+    Change testCheck to use the new move/add feature. We don't currently handle this.
+
+commit 6c924c7bd03148f641af85fb28a8f2a09884a49c
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Mon Jan 25 20:34:18 2010 +0100
+
+    Split into _finished_ok/failure
+    
+    Split finished into _finished_ok/failure. This simplifies things now that we don't have to check whether we're in the success or error path.
+
+commit ac864757394ae423850182879a140cf28170c46c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Jan 25 00:09:20 2010 -0600
+
+    remove 'as' keyword
+    
+    except foo as bar is a pretty new syntax, and also generates a warning
+    in 2.6, so this commit reverts to the old (ugly) except foo, bar syntax
+
+commit 1379a1972e7c0ce6c44305d75001ef0ace044889
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 24 23:22:05 2010 -0600
+
+    remove test_limitlogs completely
+    
+    An strace of this test reveals that its sub-processes extend past the
+    end of the test, and the resulting SIGCHLDs confuse those subsequent
+    tests.  This minimal addition to buildbot.tac has been fairly well
+    tested now, so I'm happy to assume it works, given the trouble this
+    test has caused.
+
+commit 689ab3aa8d3dd6ea7d0454e7ece7b5887e36c1e1
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 24 13:07:56 2010 -0600
+
+    add description and descriptionDone parameters to MasterShellCommand (fixes #690)
+
+commit b1d7f6aaed9e33d5d7f8e7beda65adc2b4b6f275
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sun Jan 24 10:06:31 2010 +0100
+
+    Remove Mike Taylors duplicate entry
+
+commit 0964c45d083c3cc7a3cc4f15997a54653e756355
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sun Jan 24 08:45:39 2010 +0100
+
+    Make ZopeInterface dependency more visible/explicit
+
+commit 351c7580373d75a0d18e917b43423145c8983be9
+Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com>
+Date:   Sun Jan 24 08:35:00 2010 +0100
+
+    Move Mike Taylor to CREDITS
+
+commit 230535fdd9e6c3ff7ec0130f6104dfb21e0b62ca
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Jan 23 11:55:01 2010 +0100
+
+    Disable accidentally commited log enable
+
+commit b569597f93af7dfb3e10a954ba2f0cb672a12209
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Jan 23 11:53:22 2010 +0100
+
+    WebPartsRecursive test: add more builders/builds/logs, test # of pages/links and fix issues
+
+commit 2a1338046c5e32d10266b917e39c817214ba14f3
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Jan 22 18:22:24 2010 -0600
+
+    Revert "remove test_mergerequests.py"
+    
+    This reverts commit 0beb3d8b54a7a6fbcccbe4196bf280c7cea6f4d6.
+    
+    The error just shifted to another test.  This is a failure of trial's
+    encapsulation, but I can't figure out how.
+
+commit 3f13db110e38bd32ad1ef8b90256c6208bf1605a
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Jan 23 00:55:51 2010 +0100
+
+    Extract jinja-env setup and fix CustomHTMLMail test (fixes #691)
+
+commit e9bb78ec2be5ce6276e170d398b604afa13a0af0
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Jan 23 00:36:12 2010 +0100
+
+    Add WebpartsRecursive: follow all links from rot and do xhtml/dtd validation
+
+commit a119a0204892554ba17c5d2ab5e7454095251de4
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Jan 22 15:40:17 2010 -0600
+
+    (refs #691) don't use chagnes in the customHTMLMailMessage for the moment
+
+commit 17225c3336b79b695f14fed2f47a663b21c2cfe2
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Jan 22 09:16:43 2010 -0600
+
+    update NEWS from release
+
+commit bdd1091ddc6c2f6bc700a4a39e9972bcd1ccfcd2
+Author: Brian Warner <warner@lothar.com>
+Date:   Fri Jan 22 01:03:39 2010 -0800
+
+    test_vc.CVS_checkout_options: use "-n" instead of "-N" to make both "cvs
+    checkout" and "cvs export" happy
+
+commit f11c30114b8db775aa3a24e2e7477968a5019390
+Author: Brian Warner <warner@lothar.com>
+Date:   Thu Jan 21 22:38:57 2010 -0800
+
+    status/web/baseweb.py: buildbot_css moved (fix test_web, test_config)
+
+commit 45033843b1610c4247bd66329f8e6f831c5fa1ee
+Author: Brian Warner <warner@lothar.com>
+Date:   Thu Jan 21 22:38:20 2010 -0800
+
+    test_vc: fix hg shortids, make CVS_checkout_options not clobber CVS
+
+commit 87b2237c69c1da41f7610b369d1a8d6bd686b06e
+Author: Brian Warner <warner@lothar.com>
+Date:   Thu Jan 21 13:59:48 2010 -0800
+
+    rpmspec.py: fix failure in use of 'types', tidy up imports
+
+commit 0beb3d8b54a7a6fbcccbe4196bf280c7cea6f4d6
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 21 21:20:15 2010 -0600
+
+    remove test_mergerequests.py
+    
+    This test seems to develop spurious failures, and removing it does not
+    shift those failures elsewhere
+
+commit b7a16a24c4c86d88b5a790baf79c62578411f48e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 21 18:47:23 2010 -0600
+
+    fix some tests .. but not all
+
+commit a15e66d54b99407f8a7209c47de65eb0736e5d9d
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Jan 21 00:53:29 2010 +0100
+
+    CSS: Use min-width & em instead of width & pixels + minor formatting
+
+commit 531c94bc5f3d19515e0e4158f8ef5948f6fdbeff
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Jan 21 00:48:57 2010 +0100
+
+    Remove now-irrelevant comment in getContext()
+
+commit d67d93134bdbe5894e64e1aeeab89ed5abf319b5
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Jan 21 00:38:00 2010 +0100
+
+    Align coding style and css-classes in directory.html with other templates
+
+commit d6ad30389c909ed133d1104673f5adf646e4732a
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Jan 21 00:22:02 2010 +0100
+
+    Move HtmlRsource.getContext to new ContextMixin-class that HtmlResource & DirectoryLister inherits. (fixes #688)
+    
+     * Also replace the path_to_root member function from HtmlResource by direct calls to path_to_root (was only used in two places anyway)
+
+commit 0975142ebffbc1ef9e7d855a5c3f657788f88826
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Jan 21 00:07:49 2010 +0100
+
+    tryclient: retrieve full id for Mercurial + sync docs
+
+commit 88bf71be0189cbfb9b5163c336765500f8b59117
+Author: Tim Hatch <tim@timhatch.com>
+Date:   Wed Jan 20 09:53:13 2010 -0800
+
+    Shift tryclient docs for hg/darcs to be consistent
+
+commit 9665f61514bc66d649672e1a7f8d2ccd2e6e85bd
+Author: Tim Hatch <tim@timhatch.com>
+Date:   Wed Jan 20 09:52:15 2010 -0800
+
+    Make tryclient docs for darcs more concise
+
+commit 3118d18e1f3c9de08b9f9700c0b179d632891b78
+Author: Tim Hatch <tim@timhatch.com>
+Date:   Wed Jan 20 09:51:48 2010 -0800
+
+    Document that tryclient works with bzr and git
+
+commit 98153037540d8d0e74c93a542e2eb7fc32019fb2
+Author: Tim Hatch <tim@timhatch.com>
+Date:   Mon Jan 18 17:38:16 2010 -0800
+
+    Fix formatting for pending builds
+    
+    The previous behavior was missing a space and had extra punctuation, like:
+    
+        "(buildingwith 1))"
+    
+    This commit fixes this to be the more clear phrasing:
+    
+        "(building, plus 1)"
+
+commit c8db0fe7b5c63e9bb7418fbac3e9108d55f44db9
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Jan 19 23:43:06 2010 +0100
+
+    Document revlink & changecommentlink in manual
+
+commit dee5b49e18df6a9182261b393268b242edcb11fc
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Jan 19 23:08:57 2010 +0100
+
+    Add revlink arg to WebStatus (adds links to revisions-ids) + cleanups
+    
+     * move shortrev/revlink html from python to jinja2 macro
+     * add missing revlink, shortrev filters in html templates
+     * remove TODO on b.changesText() (we list any change comments already)
+
+commit 4e6513b599963ea8ae532f01b22a146c72d44623
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Jan 19 21:59:53 2010 +0100
+
+    Add changecommitlink arg to WebStatus (add bug links in change comments)
+
+commit da3bb0c55e197000003ad0cf092e423744842c99
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Jan 19 13:26:49 2010 -0600
+
+    bring NEWS up to date
+
+commit 65f74730e4ea83c8a45b4a372111d287dad1a2ce
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Jan 19 13:26:49 2010 -0600
+
+    updates to MANIFEST.in to include all *new* files
+
+commit eaa02099a0d1022d43d5a395ec774828e82efb35
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Jan 19 13:23:11 2010 -0600
+
+    remove some unnecessary arch and darcs files; add other files to MANIFEST.in; add test for this sort of thing
+
+commit eedb9ae89556808fe20ebf58fb263963c9d99be4
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date:   Mon Jan 18 17:47:42 2010 -0700
+
+    Fix directory listings with multiple files.
+    
+    The 'endfor' needs to come before the table closure, else we'll
+    close the table after the first file.
+
+commit 3168c382387cb6ea86f90122fc08cff0b86c81d1
+Author: Tom Fogal <tfogal@alumni.unh.edu>
+Date:   Wed Dec 30 16:56:42 2009 -0700
+
+    Remove tabs(!).
+
+commit 02b25d5da13574cda3eb9d2353fcbbd72741c9ab
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 17 20:06:18 2010 -0600
+
+    add a path_to_root key so that directory listings render properly (fixes #687)
+
+commit faf85da440d04d459ebd3a9086efef0db6658dc2
+Merge: e70ea0c c99f51d
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 17 22:23:26 2010 +0100
+
+    Merge remote branch 'djmitche/master'
+
+commit e70ea0c9e30f4fd519e9ce458fb50d91deefe806
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 17 22:20:07 2010 +0100
+
+    Don't add extra markup if short rev == long rev + use divs
+
+commit e0a959f0abc63dd036850ed054388925ea55bcd7
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 17 22:18:59 2010 +0100
+
+    Comment out console view debuginfo
+
+commit c99f51d39e61d6aa1b0cb8a9abfc6bf5edfa2f62
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 17 14:21:56 2010 -0600
+
+    (fixes #686) always do a clobber when retrying a VC operation
+
+commit 51ab42dd806efbde58b6e11d6819aad3310b2507
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 17 21:17:00 2010 +0100
+
+    Hide full-revs and emails by default
+
+commit 9428693e00f8ac0bca9d00dc78f3a22e0f1f900d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 17 13:24:37 2010 -0600
+
+    (fixes #649)  commit to check github commit hook
+
+commit 86ff427f6cea7b7841897ced47104baa498b75ce
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 17 20:23:46 2010 +0100
+
+    Move static web files to own subdir of buildbot.status.web
+
+commit e91371fd5c756fb08ea2c2cec42a52df295eeaca
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 17 20:13:37 2010 +0100
+
+    Add & apply jinja filter for username, email and revision + minor tweaks
+
+commit 4ea40fc57a66f72652e83a7224a9c2c621c6bb8b
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 17 20:11:29 2010 +0100
+
+    Mercurial: Retrieve full 40-char rev id instead of short
+
+commit b2e2c7082b4c5db6ddb7247c5f71524b1050d373
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 17 11:09:39 2010 -0600
+
+    (fixes #649) whitespace commit to check github commit hook
+
+commit a6091afb3a1bd0e426f3a5b11c97d858b2f5ce95
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 17 00:29:46 2010 -0600
+
+    fix error showing unfinished builds
+
+commit 92f0e71f318afe70ab2f9d1c0ca9d545acea9d3c
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Jan 16 23:59:29 2010 -0600
+
+    (fixes #679) reference 'status.web.auth' in docs
+
+commit 0dd9d2e5ac38c47329d47cc5c5c6adc299959ea0
+Merge: efdb711 a44ec02
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Thu Jan 14 17:19:08 2010 +0100
+
+    Merge branch 'master' of http://github.com/garetharmstronghp/buildbot
+
+commit efdb711c8b426c43671271e23da785a868bd0fb6
+Author: Gareth Armstrong <gareth.armstrong@hp.com>
+Date:   Thu Jan 14 16:23:40 2010 +0100
+
+    Add documentation fixes for MailNotifier messageFormatter function and add example code.
+
+commit a44ec02dd75410dbb96c0e27bb412751b2633b70
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Fri Dec 4 01:22:30 2009 +0800
+
+    Allow per-builder configuration of buildHorizon, logHorizon, and
+    eventHorizon
+
+commit 7fe3fcde20324928af219cd47ab890be6ec97a7a
+Author: Chris AtLee <catlee@mozilla.com>
+Date:   Thu Dec 3 12:22:30 2009 -0500
+
+    Allow per-builder configuration of buildHorizon, logHorizon, and
+    eventHorizon
+
+commit 5324c45edc6a5ecad84274fdcb6d31c2543442b8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Tue Jan 12 00:01:08 2010 -0600
+
+    remove bogus tests
+
+commit 7488e4c7ec8f8424780f313f94985c8449a8d835
+Merge: b9866f1 5d42eda
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Jan 11 11:14:46 2010 -0600
+
+    Merge branch 'release'
+
+commit 5d42eda6e671e25700ec1469e26c365a4601590d
+Author: Daniel Dunbar <daniel@zuster.org>
+Date:   Sun Jan 10 11:50:42 2010 -0800
+
+    Ensure 'changes' is a list before trying to sort it.
+
+commit b9866f1f224c531dc43a32d0ac1bdd8b8049e578
+Author: Satyagraha 1956 <satyagraha.1956@googlemail.com>
+Date:   Sat Jan 9 20:26:47 2010 +0000
+
+    Fix for #676 .
+
+commit e4dd1aaab275a7f40265ced3bcea0aedab8c8fdd
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Jan 9 10:11:47 2010 -0600
+
+    fix doc typo
+
+commit 96e4eadad7207ca0f66d80034f6a5d38c8716017
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Jan 9 10:10:01 2010 -0600
+
+    0.7.12rc2
+
+commit 05ae10e4405439d009a93e3d8ec0f47906ade082
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Jan 8 19:07:43 2010 -0600
+
+    fix typos
+
+commit 5883763e1cdb7f3cabcb8915cf7d5105f5bee1ed
+Merge: 65a13f5 e44d7c0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Jan 8 18:58:46 2010 -0600
+
+    Merge branch 'release'
+
+commit e44d7c0d4c43a218bbc24831d046f00d53a46f7e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Fri Jan 8 18:58:12 2010 -0600
+
+    add an example for workdir
+
+commit 65a13f53052f0f722daed7fb6e6c7423f981366a
+Merge: 57e2d43 4412014
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Jan 7 13:25:18 2010 -0600
+
+    Merge branch 'useSSL' of git://github.com/mjmac/buildbot
+
+commit 4412014653749be47026054cbbf4e702abb0ec08
+Author: Michael MacDonald <mjmac@vpn-129-150-66-84.east.sun.com>
+Date:   Thu Jan 7 14:17:43 2010 -0500
+
+    add SSL support to IRC bot
+
+commit 57e2d43377c9a8b9b03f0cce6a5e5873cb19ccba
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Jan 7 19:54:01 2010 +0100
+
+    List relevant builders per slave in buildsslaves view (fixes #673)
+
+commit d9699cab0dc8d8d1f5a31b9266a9ddd790f0a9af
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Thu Jan 7 19:32:01 2010 +0100
+
+    Decode slave host & admin data as utf-8 (fixes #671)
+
+commit 0102f5ea8426ee2a426817f553d9e1c20a1d2da6
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 23:11:33 2010 -0300
+
+    Change how the "last heard from" column in /buildslaves is rendered.
+    
+    It used to use <font size="-1"> (without closing tag!)
+    around the absolute timestamp. In my browser,
+    that seems to cause a *bigger* font. Don't ask why.
+    
+    I changed it to use <small> and put it inside parentheses.
+
+commit adc2e9e39feec75147f9fc8c6e71388e2ab7a20e
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 23:04:30 2010 -0300
+
+    Validation fixes to grid_macros.html
+    
+    (affects grid and tgrid)
+
+commit 0ee4edad541101f1a822f24f3ff527428ffa4118
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 23:03:32 2010 -0300
+
+    Fix mismatched and missing tags in buildstep.html
+
+commit 50288b012197eba2ef39c73050b272262f6fb342
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:23:53 2010 -0300
+
+    change_macros.html: Fix closing td tag.
+    
+    Was missing the slash, so it was an open tag, making it a <td> in a <td>...
+
+commit c1746dd981ca36635b2da3aaf16d5e2b41c0b436
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:23:03 2010 -0300
+
+    build.html: Add missing quotes around attribute values.
+
+commit 27eef1019c41ede4183564fa0a70181cf8aef456
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:16:17 2010 -0300
+
+    Use lowercase 'post' in <form method="post">.
+    
+    (see XHTML 1.0 section 4.11)
+
+commit d53188af36d2da89aff4636211b6b88839b8de96
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:13:23 2010 -0300
+
+    Fix unclosed <input> tag in buildslave.html
+    
+    This is XHTML; you need the self-closing slash!
+
+commit 741156ad33458261a814de713b6388e3a67e8239
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:10:17 2010 -0300
+
+    Fix mismatched HTML tag in builder page.
+
+commit 451060935922629cf64ae8d367b676ad4ede5e40
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:10:03 2010 -0300
+
+    Remove spurious </span> in build_line.html.
+
+commit 2ab6fe75e7dc0051ecabb9e48cfdff8eebdf4160
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:05:25 2010 -0300
+
+    box_macros: Leave spaces between HTML attributes.
+
+commit 31813d03b420233cf9744f52d009f8d99f994788
+Author: Nicolás Alvarez <nicolas.alvarez@gmail.com>
+Date:   Wed Jan 6 22:04:49 2010 -0300
+
+    Add missing close tag in waterfall.
+
+commit 6a73602c6619ef2ec582e798f8d9a3666d9f5946
+Merge: 259578d 7fdadb0
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Wed Jan 6 12:54:16 2010 -0600
+
+    Merge branch 'release' to get avivby's proper console fix
+    
+    Conflicts:
+    	buildbot/status/web/console.py
+
+commit 7fdadb021398d7a244295707cebc643b761bdb88
+Author: Aviv Ben-Yosef <aviv.by@gmail.com>
+Date:   Wed Jan 6 20:27:25 2010 +0200
+
+    Fixing a problem with forced commits
+    
+    Forced builds have no changes, and because of that the last changes to the console broke it.
+    This commit should fix it, by using the build's data instead of a change in it in the worst-case scenario.
+
+commit 259578d29802df32d8c68fb2c15bdc5d49eccc04
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:39:42 2010 +0100
+
+    Show slave host info only on slave-page, not in slave-list nor on builder page
+
+commit e297d0f34468ac0e84e72124bba7c2b6747bfe7e
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:31:31 2010 +0100
+
+    buildslaves.html: add escaping and fix improve spam protection of e-mail
+
+commit d220f913808cb1975f35bdeb80f61d8bacc7188f
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:28:27 2010 +0100
+
+    one_line_per_build: accentuate 'all builders' in force form + layout improvements
+
+commit b312b0386855095edd8d30c4db94246b3214f47e
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:24:34 2010 +0100
+
+    About page: add alternating colors and wrap in column
+
+commit a138f45b6e6245447bf6802f23b55c9ed06f42a8
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:22:49 2010 +0100
+
+    Fix Home link when buildbot is not shown from root and the current url doesn't hold a /
+
+commit 14b21c6ada0c1cdefc63a72aadb34bf095a9fdef
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:20:26 2010 +0100
+
+    Improve layout of build and buildstep HTML
+
+commit b0bb0593bca0cc97bdc34a9116b6b2512864c3ee
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:10:45 2010 +0100
+
+    Add missing css_class to unstarted buildsteps
+
+commit d114a22b30b5f09748e8ece4cce288f732c4e7c6
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:01:28 2010 +0100
+
+    Fix file sorting in changes view
+
+commit c6938e389f9ba768f4d9dcdf9be5d0ce1cefb909
+Author: marcusl <macke@yar.nu>
+Date:   Wed Jan 6 14:01:00 2010 +0100
+
+    Fix some python 2.4 incompabilities
+
+commit 4cee11f1a45dd6b66a0b955139440ecbdb3e2ba2
+Author: Brad Hards <bradh@frogmouth.net>
+Date:   Tue Jan 5 10:53:11 2010 -0600
+
+    Add try --get-builder-names option
+    
+    This simply provides the builder names for the scheduler back to the try
+    client via PB only
+
+commit 8748d1d4091ef42c4f12c77e33f6c29005af127f
+Merge: 13b4c43 baa5c8d
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Jan 4 12:24:25 2010 -0600
+
+    Merge branch 'release'
+
+commit baa5c8d473d7c6ab18316445e4b86d20e7fc9e3a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Mon Jan 4 12:23:19 2010 -0600
+
+    document messageFormatter changes, and return a dict instead of a tuple
+
+commit 04c92fc5bcd3aa6c3fa54df8e24e876affbe5984
+Author: James Porter <porterj@krusty.(none)>
+Date:   Mon Jan 4 12:05:21 2010 -0600
+
+    add a 'subject' result to messageFormatter
+
+commit 13b4c43282a2e559120cca6963f08e20ff5483f4
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 20:09:54 2010 -0600
+
+    add comment for command_version 2.9
+
+commit 02480eaf2ea00a39f3378e8c8d77d9d37fcf9ef5
+Merge: 50f270e 8d35d60
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 20:06:44 2010 -0600
+
+    Merge branch 'master' of git://github.com/verm/buildbot
+
+commit 8d35d60dcda5e0aa53299721df3e84a517042535
+Author: Amar Takhar <amar@ntp.org>
+Date:   Mon Jan 4 02:03:19 2010 +0000
+
+    Add a BK (BitKeeper) source step for retrieving soirce via bk.
+
+commit bd0ba65091f17f109b4f4906ab11ffba5b163e55
+Author: Amar Takhar <amar@ntp.org>
+Date:   Sun Jan 3 23:16:16 2010 +0000
+
+    BitKeeper hook script, based off of svn_buildbot.py.
+
+commit 50f270e059f8a84d67172bd1936ff0367c29fbc7
+Merge: ca90d05 759c97e
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 17:11:44 2010 -0600
+
+    Merge branch 'master' of git@github.com:djmitche/buildbot
+
+commit ca90d05e7b5ba1b1955496adc2e3b9833a7c2698
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 15:40:07 2010 -0600
+
+    add .mailmap to help shortlog
+
+commit 759c97e69d880b4ee77bfdb2bfab73c4b6421014
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 3 19:44:04 2010 +0100
+
+    HTML: Buildslave lists -> table + gradient & css tweak
+
+commit da79b7d10712ce8559ebc421e031588566e55962
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 3 18:19:11 2010 +0100
+
+    Minor console fixes (index error in code with sort-by-time + show category names in html properly)
+
+commit 54aaca1b8bf6d18f6866082d84627f66e06f7f01
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 3 18:09:32 2010 +0100
+
+    More HTML tweaks & fixed (css, list -> table, padding adjustment)
+
+commit 3ac0d832511c6f0281a4b9fe3ce92ccedbfe596a
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 10:33:45 2010 -0600
+
+    mention API docs
+
+commit 783691bd765db404a1ae6e5a79f152852df376b5
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 10:22:32 2010 -0600
+
+    update version number in docs
+
+commit b001ccb694af6874117fb67795299986e2c91e15
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 10:12:50 2010 -0600
+
+    fix grid display of unbuilt revisions (previously resulted in traceback)
+
+commit 2553c6eec3fbd7075f1907dd354ef47dfb850357
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Jan 3 10:07:05 2010 -0600
+
+    fix display of a builder with no recent builds (don't display the build table at all)
+
+commit 73176542a332c6074e917cdfa99f0b578884ce69
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 3 16:44:06 2010 +0100
+
+    Webstatus cleanup/fixes + layout improvements (columns, alternate colour of rows, etc)
+
+commit a5e9528fd9e6e78180a570f0196ed25890429de6
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Jan 3 00:33:28 2010 +0100
+
+    Revert "test_limitlogs: don't assume we can run scripts directly"
+    
+    This reverts commit 7ef927159109651e4ff3555f5be1bfeb993619e4.
+    (doesn't work on linux/virtualenv)
+
+commit b38c19f169a6ef6d487868c413c2d1071ce35644
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sat Jan 2 13:36:54 2010 -0600
+
+    Revert "test_limitlogs: don't assume we can run scripts directly"
+    
+    This reverts commit 0fc95d7e543c4830997fd444c6ec481b94ff0fa3, as it did
+    not run correctly under virtualenv + Linux
+
+commit 0fc95d7e543c4830997fd444c6ec481b94ff0fa3
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 26 00:15:53 2009 +0100
+
+    test_limitlogs: don't assume we can run scripts directly
+
+commit 45b51d84dfbce22e14cf094f0a594e266d95322b
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Jan 2 18:17:48 2010 +0100
+
+    Remove leftover console_html.py (console is fully jinjaified)
+
+commit 3ca63ce7a02ce85eff59d53a83d38001c17b09ca
+Merge: 7736d5c 96ff1ff
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Jan 2 18:06:18 2010 +0100
+
+    Merge branch 'master' into jinja
+
+commit 96ff1ffb0b89980045541d84b876b7f5e44481ec
+Author: Aviv Ben-Yosef <aviv.by@gmail.com>
+Date:   Fri Jan 1 11:20:05 2010 +0200
+
+    Small tidying to use existing method
+
+commit 6559183baf4734e1d618d8b7e781dc4bc43a8a4f
+Merge: 7fa5137 08fc7d8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Dec 31 19:57:01 2009 -0600
+
+    Merge branch 'release'
+
+commit 08fc7d873d5f5961ae30f7cc632e8ca4c1dd06b8
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Dec 31 19:47:28 2009 -0600
+
+    disable flakey/bogus tests
+
+commit 2c921887e44ec5e6e10304d6d7a064f3b1d7b3eb
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Thu Dec 31 19:47:05 2009 -0600
+
+    update release docs, remove old ChangeLogs
+
+commit 7736d5c942a1a9806e19c12a97606fb8327440d9
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Dec 30 22:02:08 2009 +0100
+
+    Add top menu to layout template + minor html cleanups
+
+commit 464b6eacadf72417429d5a690fc35afaec93b14f
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Dec 30 21:40:38 2009 +0100
+
+    Console -> jinja (complete) (fixes #651) + cleanups
+    
+     * Added console, grid & tgrid to test_webparts
+     * Added page title (<h1>) to grid/console/waterfall (similar to other pages)
+
+commit 12b5bffbacbd448090eefeeda27299138528909c
+Merge: 4994045 57fbdee
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Dec 30 18:31:14 2009 +0100
+
+    Merge remote branch 'origin/jinja' into jinja
+
+commit 4994045fb87cce5825df169c70c2ae828db011f4
+Merge: 394c64f 2b69157
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Wed Dec 30 18:29:32 2009 +0100
+
+    Merge branch 'master' into jinja
+
+commit 57fbdee5b2b3fdbc7ef1291ca8e0f32ad11301bf
+Merge: 394c64f 7e4e948
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Dec 29 13:09:14 2009 +0100
+
+    Merge branch 'master' into jinja
+
+commit 394c64f532ef121ef3fd5ad880a3d5edfa7618b4
+Merge: fe4efb8 5d65dc6
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 27 23:00:43 2009 +0100
+
+    Merge branch 'master' into jinja
+
+commit fe4efb855a6381e313791998cae01a8ffe5797ba
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 27 21:37:53 2009 +0100
+
+    Fix some failing web tests
+
+commit 6f87f8949e08ddde813536607240bd99a01c8747
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 27 21:11:01 2009 +0100
+
+    Web status cleanups (fix #665) + more
+    
+     * Extract macros from change.html into change_macros.html (fixed bad bug in waterfall)
+     * More HTML -> template (waterfall boxes with links)
+     * remove head(), body(), footer (fixes #665)
+     * title is now escaped in template (remove escaping from python)
+     * actually use HtmlReource.getTitle() when building context
+     * Change meta-refresh heads() to just set 'refresh' in context
+     * Allow box text to be both string and list-of-string (as it was pre-jinja)
+     * use waterfall's lastDate when showing waterfall page creation time (regression)
+
+commit 3b60099023b4590965069c2237ddca939f74a5c7
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 27 20:03:03 2009 +0100
+
+    Console view -> jinja (superficial parts only) (see #651)
+
+commit 7ef927159109651e4ff3555f5be1bfeb993619e4
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 26 00:15:53 2009 +0100
+
+    test_limitlogs: don't assume we can run scripts directly
+
+commit 1214db0620611bbd027ce0857b5725ac86c76066
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 23:47:36 2009 +0100
+
+    More warning silencing
+
+commit d77606ce5c709335eee761ada8fdb918d47202b2
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 23:46:48 2009 +0100
+
+    test_ec2: Fix bad change in ca08c45cfbb773fabe4d49ce060bb6f96583b480 and allow for win32 USERPROFILE env
+
+commit e33c80774499d03294e0577954fc4e9da7bb58c4
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 23:10:54 2009 +0100
+
+    Convert list contents to strings before hashing (fixes test_locks on win32)
+
+commit b7dfaf20f2dfd9e69eae6375b8519d5c7c512f1f
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 23:00:55 2009 +0100
+
+    Transfer files in strict binary mode & close tarfile fd
+
+commit ca08c45cfbb773fabe4d49ce060bb6f96583b480
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 22:12:10 2009 +0100
+
+    Cleanup all unused imports and tag the rest as ok (for Eclipse/PyDev)
+
+commit a2898d9286fe054cc3e2a649dc68e94c5501b561
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 22:11:47 2009 +0100
+
+    Decode log contents to unicode from utf-8, not ascii
+
+commit 281a00d94944a3a75f11bfc74459978f5bb2cf71
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 20:58:05 2009 +0100
+
+    Move public_html/index.html to templates/root.html on 'upgrade-master' (fixes #663)
+
+commit 953105d29f126b660312720dd3fc40a16ccf5bfb
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 18:00:30 2009 +0100
+
+    Fixed some indentation (keep at multiples of 4)
+
+commit 355786c47676817f47d8e183a2dadf6264ad8f84
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 17:47:27 2009 +0100
+
+    Remove unused index.html (superceded by templates/root.html)
+
+commit 19d66a0a7f8b0bf1c62353bf66ad637693dbd059
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 17:43:31 2009 +0100
+
+    Changes HTML -> jinja (fixes #654)
+    
+    (The mailnotifier doesn't use asHTML as wrongly noted in ticket)
+
+commit c4ef6e7d941e7a3f94f8c241200efe732eb0e6d4
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 16:50:25 2009 +0100
+
+    utf-8 encode all log output. Fixes #653
+
+commit cb87ffb3f5b323cf25176133eed6f581f1545e2e
+Merge: 8077a44 217697e
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 16:34:25 2009 +0100
+
+    Merge branch 'jinja' into jinja-htmllog
+
+commit 217697e392329632738482e8b99c46649d59a026
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 16:33:15 2009 +0100
+
+    Convert StaticHTML and LastBuild to use jinja
+
+commit 921994f8cca64b7bba1d7be780bd5b99dd861643
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 16:21:03 2009 +0100
+
+    All templates now inherits layout.html (Fixes #655)
+
+commit 70a6bb6dbf1a7b806de315e3a1144cbf23fbdd7a
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 15:49:00 2009 +0100
+
+    IBox HTML -> jinja macro (fixes #652) + use path_to_build(er) in grid
+
+commit 5e8de8e6496f62fe1e5723f27481c10b44884458
+Merge: 39ed241 a4b19bb
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Fri Dec 25 13:19:28 2009 +0100
+
+    Merge branch 'master' of github.com:djmitche/buildbot into jinja
+    
+    Conflicts:
+    	buildbot/status/web/console.py
+
+commit 39ed241c68832786ca81b620c64f26100612d603
+Merge: b132ea7 668c83e
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Tue Dec 22 23:09:17 2009 +0100
+
+    Merge remote branch 'djmitche/master' into jinja
+
+commit b132ea785094cca47c8dccc6a142b566097f42b6
+Merge: 0b9e961 864430a
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 20 22:27:00 2009 +0100
+
+    Merge remote branch 'djmitche/master' into jinja
+
+commit 0b9e9616e38ba46156c2c584648098c4bdc129ee
+Author: Dustin J. Mitchell <dustin@zmanda.com>
+Date:   Sun Dec 20 09:46:39 2009 -0600
+
+    (fixes #662) add Jinja2 to setup.py
+
+commit 8077a44fd1ea0e0da9881e25994c58fb83846157
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 20:25:07 2009 +0100
+
+    Attempt to jinjaify HTML log. Not working yet
+
+commit 3694085c4f0bb8db6450dd9b4cf6e08147acaa30
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 18:42:49 2009 +0100
+
+    Replace index.html root with jinja template (fixes #656) + use new default.css everywhere
+
+commit 0c23a778623e226d70fccf18a55ce4f2cffb770c
+Merge: b9a6fae fb70a1d
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 17:11:11 2009 +0100
+
+    Merge commit 'fb70a1dd799ff16ef9b3002707ed3613c5780c0d' into jinja
+
+commit b9a6faeb714af3a6d705c9b2dc2d1a2c9aa0e9bc
+Merge: 1542ae5 676b0c3
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 17:09:44 2009 +0100
+
+    Merge commit '676b0c38115deb2edb19ade9dc02c406e310d4b3' into jinja
+    
+    (Ignored these changes, as footer should be in jinja template / layout.html.
+     We still need to adapt all templates to that.)
+    
+    Conflicts:
+    	buildbot/status/web/build.py
+    	buildbot/status/web/grid.py
+    	buildbot/status/web/slaves.py
+    	buildbot/status/web/waterfall.py
+
+commit 1542ae5be1b99cb295e054ac3ad824cddc2ec846
+Merge: 101db85 ea17f9c
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 17:05:05 2009 +0100
+
+    Merge commit 'ea17f9cf8c95867da1eb015ed07b7037b2232b3b' into jinja
+
+commit 101db858cf7ca519e87a5299a98f30e43fb0cf96
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 17:04:38 2009 +0100
+
+    CRLF dummy commit
+
+commit 1cbd3ea4eed6b030d8e279ef794beb409d20c6f5
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 17:00:22 2009 +0100
+
+    Fix syntax errors in import
+
+commit 96413549e4c58b0ef48ba361d35fc12f032be58d
+Merge: 2dbb84a acb279a
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:59:25 2009 +0100
+
+    Merge commit 'acb279a3bbb484d1120f37e97ab7b69d8240cf04' into jinja
+
+commit 2dbb84af5e9459afc982a71fa6fb6f6c24483d97
+Merge: 5d9cfb3 10e0514
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:58:56 2009 +0100
+
+    Merge commit '10e051422660c9d0b873991cb0890ebf55cfdc80' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/base.py
+    	buildbot/status/web/build.py
+    	buildbot/status/web/builder.py
+
+commit 5d9cfb3d037260e725e90c280735a89e09eaf176
+Merge: 581c7fd dcbf829
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:55:26 2009 +0100
+
+    Merge commit 'dcbf829e332577709d7b426fa411e746845943f4' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/step.py
+
+commit 581c7fdcb0e027042eabb99fecd428072babea2f
+Merge: 76b61c9 cc174f0
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:46:28 2009 +0100
+
+    Merge commit 'cc174f0c20ca2a91c85f71328ca1cbd46f3110c9' into jinja
+
+commit 76b61c96b3839e6298424e31e168b479c70708ae
+Merge: 163a4c3 34c1935
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:45:39 2009 +0100
+
+    Merge commit '34c1935c9e69392c1c5e0935173b027832a076e1' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/slaves.py
+
+commit 163a4c30c67c53cbd06cdb87e78cc9ae7c3227fa
+Merge: e123630 5746904
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:40:30 2009 +0100
+
+    Merge commit '5746904b70556eefee3636b5e6081b972f3332df' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/builder.py
+
+commit e123630ffe294a64ad4cc6eecfebcd7750a1f383
+Merge: 2817dab df5a96f
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:38:01 2009 +0100
+
+    Merge commit 'df5a96f1963f302c601a30f2e5b3771b2b2096f3' into jinja
+
+commit 2817dab4757d35401b8a7f3bef18e60bb4661d9d
+Merge: 204e6d3 dfa162c
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:37:32 2009 +0100
+
+    Merge commit 'dfa162c82060b6d2b169ec892e397ba8702ed5b8' into jinja
+
+commit 204e6d3f645dbb3e3b9348213b7ce6c218d173e7
+Merge: 94f2070 d8fddfa
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:37:05 2009 +0100
+
+    Merge commit 'd8fddfa5b0250204a0fa0820d6864e14f09e1bed' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/step.py
+
+commit 94f207042a055ced6879baa9b3eae65e4217e698
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:26:00 2009 +0100
+
+    Fix 'view in waterfall' link on builder page
+
+commit 89a5852abab400f4d54da996132fe8c66f062c27
+Merge: 8276d4b 0fc8ead
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:21:52 2009 +0100
+
+    Merge commit '0fc8eade38879945b0f2193e37a08a061b8569e0' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/grid.py
+
+commit 8276d4bdac61fedb1c1402fcd717e574b84c1aca
+Merge: c4ce498 138c831
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:09:53 2009 +0100
+
+    Merge commit '138c831f1bc4340b7043dd74b3081d201abdef18' into jinja
+    
+    (not applicable to jinja)
+    
+    Conflicts:
+    	buildbot/status/web/grid.py
+
+commit c4ce498d510b783386c0defc2073a4547519860b
+Merge: e88bf73 6785c24
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:09:02 2009 +0100
+
+    Merge commit '6785c245689c8cdfe7d5341b9bc1677a2207ce5f' into jinja
+
+commit e88bf73e9ff8015cf6d9860cc0676e2e973dcd67
+Merge: caff706 514823b
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:08:23 2009 +0100
+
+    Merge commit '514823b5bc23547c7f456a6b8fce81332fda161f' into jinja
+    
+    Conflicts:
+    	buildbot/process/builder.py
+
+commit caff706d3dcab8712a959aaf5a96131c6e6f8cd4
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:07:23 2009 +0100
+
+    Fix syntax error in slave view
+
+commit ed1c2ff96a3a7af3338d854e8cb5d823bace2f07
+Merge: 30af01d be1431f
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:06:57 2009 +0100
+
+    Merge commit 'be1431f727129133ce86ed61021469f387dc9644' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/build.py
+
+commit 30af01d2d3388017c6158bc06db4e057b2ac95ed
+Merge: 0b92cff bfe6015
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:01:01 2009 +0100
+
+    Merge commit 'bfe60159e63288cc68e3ee0ee05ff0c4a54edaba' into jinja
+
+commit 0b92cfffefa89a00d996566e12bcf148ff6adfe5
+Merge: d534d3d b4e332c
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 16:00:22 2009 +0100
+
+    Merge commit 'b4e332c9268c293343b0de1ed3c4d80cd1b8c3d9' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/slaves.py
+
+commit d534d3da8405291cbb8235fa9d6149d92ea6b224
+Merge: 124f266 51149da
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:55:37 2009 +0100
+
+    Merge commit '51149daa8af82b1ffa2c4a6bca41929bab5bdef1' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/base.py
+    	buildbot/status/web/build.py
+
+commit 124f26663f30a3b7c6e950d3d6090f5371a9389d
+Merge: a8b7921 e177c92
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:35:55 2009 +0100
+
+    Merge commit 'e177c92e706ef2e27022ccd86174041a26ff051f' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/grid.py
+
+commit a8b7921a12ceda7e3d70157ddec2bcd6c1198040
+Merge: cd84812 29eb918
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:32:46 2009 +0100
+
+    Merge commit '29eb918e2e32f0ec03f405cbb9b57741f0f1dcbf' into jinja
+
+commit cd8481249db38b1f8045732c411f1b8163e3b101
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:32:23 2009 +0100
+
+    Quick fix to console view when revision is None
+
+commit 0f191a6a2c0f6967e19cf12e23cd2fc9f6755686
+Merge: 64c4b59 baed1a3
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:26:55 2009 +0100
+
+    Merge commit 'baed1a3ee0627b80756cf1ab8f25840c23f4f193' into jinja
+
+commit 64c4b598a1636325e4d037e62ef77cfe0daaadc1
+Merge: 5137657 bcd04d7
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:26:13 2009 +0100
+
+    Merge commit 'bcd04d730f38cd9303e7e22efce7e21778b2c35b' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/base.py
+    	buildbot/status/web/builder.py
+
+commit 51376574651baacea8adb6d2cb3fc8c8b0f684b4
+Merge: 014b63a 9857872
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:20:16 2009 +0100
+
+    Merge commit '98578726636b4b401724fde0a553596e6064724c' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/waterfall.py
+
+commit 014b63a158b295614fe2ac20775f7f6e2e4f9f4a
+Merge: 87623a3 efc31f8
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:17:36 2009 +0100
+
+    Merge commit 'efc31f82990b385be67c37a704fe523a0d7d4a61' into jinja
+    
+    web/tests.py removed from jinja branch earlier. Ignoring edits.
+    
+    Conflicts:
+    	buildbot/status/web/tests.py
+
+commit 87623a337d22397418beba133658522e87fe8356
+Merge: 25ea925 e742460
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:16:26 2009 +0100
+
+    Merge commit 'e7424607fec8e9528add2d0aeffb2f18402bd6b2' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/slaves.py
+
+commit 25ea925317e248599c66dffbcfd80c1076fddd5c
+Merge: 1be55c6 5a240f9
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:14:59 2009 +0100
+
+    Merge commit '5a240f967bc22d58f29d090a42a0071b699375b4' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/baseweb.py
+
+commit 1be55c63663ec1a118669da4d218bd36823f7157
+Merge: c4cc4ff 9c57635
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:13:29 2009 +0100
+
+    Merge commit '9c57635edf6f8678f9b28472baa7cfef2d278712' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/baseweb.py
+    	buildbot/status/web/builder.py
+    	buildbot/status/web/grid.py
+    	buildbot/status/web/waterfall.py
+
+commit c4cc4ffc81307119221db5bfc4ccd98dc6a8e5e9
+Merge: 3c44da9 71740dd
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 15:01:31 2009 +0100
+
+    Merge commit '71740dd877b5aaa46cc7425f55c9c8ad4da5162f' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/waterfall.py
+
+commit 3c44da98912a4795e7b6246f7d9d18b0cc280c21
+Merge: f91d1bc ad13a16
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 14:28:55 2009 +0100
+
+    Merge commit 'ad13a16bbdec535c8edebdbba4f77ae39b19c84c' into jinja
+
+commit f91d1bcd4e16e5f140982a284a012896172ef5df
+Merge: 97974d3 f15ebee
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 14:28:25 2009 +0100
+
+    Merge commit 'f15ebee1c64a549a01c508783784f889325501ef' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/build.py
+
+commit 97974d31604f0269b6fb20dacfc2d47c29e6960a
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 14:27:43 2009 +0100
+
+    Add missing change to build.html
+
+commit 2b2bf41e063ef24406874bd90fad16f25e7964eb
+Merge: 43fd7d7 15bd807
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 14:26:46 2009 +0100
+
+    Merge commit '15bd807777ad2f998589b8463abb40642513be20' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/build.py
+
+commit 43fd7d77f92b1ced52672ca8d5567d20302a17e4
+Merge: 4fa4cfa 198220f
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 14:17:09 2009 +0100
+
+    Merge commit '198220f9a7c68aa11dce96be96aaef88c36f8d35' into jinja
+
+commit 4fa4cfac0266ff4649e9bed947fdeb3401884963
+Merge: e12d0c5 4dcda71
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 14:16:25 2009 +0100
+
+    Merge commit '4dcda7197e346f8dba56978f670cddca34cca340' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/feeds.py
+
+commit e12d0c52ddb327c43383a7b639f7ddd20650c5ee
+Merge: 5ff1332 7d71ae0
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 14:10:57 2009 +0100
+
+    Merge commit '7d71ae0f2c167e90c79e6bafa6150568c2a22624' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/feeds.py
+
+commit 5ff1332e293532d4376cd211104664fad79d0155
+Merge: d26cbce 28b86b7
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 13:51:06 2009 +0100
+
+    Merge commit '28b86b7719658b24f806fb8bd5b483f819fca9a6' into jinja
+    
+    (Already fixed in jinja)
+    
+    Conflicts:
+    	buildbot/status/web/builder.py
+
+commit d26cbced9b1212e407442e7ac79b3f8cb4a4a120
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 13:50:13 2009 +0100
+
+    Add missing change to waterfallhelp.html
+
+commit 2f55cdea5a7e42c8ae136144044dfcfdc73e801b
+Merge: 4997d29 64773c1
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 13:25:56 2009 +0100
+
+    Merge commit '64773c1a0d77eaf675e8eb25c7f0d2bc60f605cd' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/base.py
+
+commit 4997d290751c8df267d8eba65b40270e3a8659d4
+Merge: 9e7f185 43c720c
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sat Dec 19 13:24:28 2009 +0100
+
+    Merge commit '43c720c778acaec59eacf51abdd0c97902d73e2b' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/waterfall.py
+
+commit 9e7f185913ce615f34e6521c6b22671a776417f8
+Merge: ee5aa83 b51cef3
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:09:11 2009 +0100
+
+    Merge commit 'b51cef36a8d3fa4aececae8bb55ef63f6f69a797' into jinja
+
+commit ee5aa839f55534d81aec51c68b518e2164961348
+Merge: 5477e35 dd9f281
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:08:35 2009 +0100
+
+    Merge commit 'dd9f28106f6621b47523c2dd8286a4c41c72d8bc' into jinja
+
+commit 5477e35be467c28fbc1b2eb121ba0ef4944fdcdd
+Merge: c1e8114 577f998
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:08:10 2009 +0100
+
+    Merge commit '577f99813b8a249323b2e62b5c56b53c1f3c04c9' into jinja
+
+commit c1e811455dea11261cb4e57ddf3a98fe831f8696
+Merge: d3eba2d 6979e58
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:07:57 2009 +0100
+
+    Merge commit '6979e585b1df13d3227160e8ac0c963fa319a135' into jinja
+
+commit d3eba2dbbb7b8bf9a0122c224de826dbfbdc8b39
+Merge: 4903d31 c4de485
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:07:07 2009 +0100
+
+    Merge commit 'c4de4851668847e9235a363f706a2634489e6f28' into jinja
+    
+    All forms in tempalte-html already converted to method='post'
+    
+    Conflicts:
+    	buildbot/status/web/slaves.py
+
+commit 4903d31ef69a8da6fa9df7c98f7bcc94882f8dc3
+Merge: ce3e242 02c2d24
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:04:26 2009 +0100
+
+    Merge commit '02c2d2468842ef6802f41c39bb5b609e0c8ccc20' into jinja
+
+commit ce3e242d024cd73723ac434ec3771015907610f9
+Merge: 64a06f1 0fc76a1
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:03:01 2009 +0100
+
+    Merge commit '0fc76a1fca3603a1ac91d5c62eb4ab01a96b6126' into jinja
+
+commit 64a06f10bc7c73ea6e750bf67ec6e9e3c4d70988
+Merge: ca45b27 bf4ef54
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 22:01:44 2009 +0100
+
+    Merge commit 'bf4ef54b4bf47e576953c40b14cb282937c4c3e0' into jinja
+    
+    WaterfallResource.isSuccess() doesn't seem to be working, but I haven't touched that. :-|
+    
+    Conflicts:
+    	buildbot/status/web/waterfall.py
+
+commit ca45b27af177a637e485f2709115c207baa594a5
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 21:34:06 2009 +0100
+
+    buildstatus -> jinja
+
+commit e987ecdb86052f998019bb75532d3f02563354af
+Merge: 14bbe0f 4c4df02
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 21:23:23 2009 +0100
+
+    Merge commit '4c4df020732a9acb19451bfa3cff5a4d34f8e241' into jinja
+
+commit 14bbe0f543e6b3009dad9ac200ede0f14a7d7cb2
+Merge: 9c5e471 6b18471
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 21:21:26 2009 +0100
+
+    Merge commit '6b184718ee9576c0577c4fd9fb8dda7a2edf8754' into jinja
+
+commit 9c5e471e3751fcd558e147a26dfd655980d47156
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 21:12:27 2009 +0100
+
+    Make use-of-undefined-var-in-jinja2-template as errors and fix all issues + minor improvs + TODO cleanup
+    
+     * Added HTMLResource.getContext() to use same context in content/body/footer (remove later)
+     * Change TODO items to that text appear on same line (i.e. all TODO/FIXME now readable in Eclipse tasks window)
+
+commit 442c6f8fed2197f4cb664d6737e4103d19406065
+Merge: e06139f 9fb4486
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 18:45:03 2009 +0100
+
+    Merge commit '9fb4486a4f74085122a6a15b482d66dceb0b9ff9' into jinja
+
+commit e06139fb73ecac82e3b2b9b98f0d302202347be3
+Merge: 2c803c3 c462bf8
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 18:44:03 2009 +0100
+
+    Merge commit 'c462bf85fc86c1710c23026231f56deb90b317f3' into jinja
+
+commit 2c803c335e9f7c87f3a4e73442e1c80ffa9fca85
+Merge: 320f1e2 76f4ebd
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 18:41:14 2009 +0100
+
+    Merge commit '76f4ebd3dbafb9231cc435fb93b962c862aa7922' into jinja
+
+commit 320f1e297606a879439cd926e11ad6c9055d3416
+Merge: 56f7b89 b9d93c3
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 13:27:11 2009 +0100
+
+    Merge commit 'b9d93c391369d24f6bb36b3d17075c80dd45bb97' into jinja
+    
+    Conflicts:
+    	buildbot/status/web/builder.py
+
+commit 56f7b89927bb6df173bb21b642c4e99f7899eae7
+Merge: e80ccd6 2f44d5d
+Author: Marcus Lindblom <macke@yar.nu>
+Date:   Sun Dec 13 13:23:08 2009 +0100
+
+    Merge commit '2f44d5d3129070aa212feea0aca24636405f9478' into jinja
+    
+    Conflicts:
+    	buildbot/stat