[Zodb-checkins] CVS: ZODB3 - release.py:1.2 test.py:1.26 setup.py:1.51 README.txt:1.20 NEWS.txt:1.34 MANIFEST.in:1.11 MANIFEST:1.17

Jeremy Hylton jeremy at zope.com
Thu Oct 2 14:17:34 EDT 2003


Update of /cvs-repository/ZODB3
In directory cvs.zope.org:/tmp/cvs-serv18770

Modified Files:
	test.py setup.py README.txt NEWS.txt MANIFEST.in MANIFEST 
Added Files:
	release.py 
Log Message:
Merge changes from Zope-2_7-branch to the trunk.


=== ZODB3/release.py 1.1 => 1.2 ===
--- /dev/null	Thu Oct  2 14:17:33 2003
+++ ZODB3/release.py	Thu Oct  2 14:17:32 2003
@@ -0,0 +1,55 @@
+#! /usr/bin/env python
+"""Update version numbers and release dates for the next release.
+
+usage: release.py version date
+
+version should be a string like "3.2c1"
+date should be a string like "23-Sep-2003"
+
+The following files are updated:
+    - setup.py gets a version number
+"""
+
+import fileinput
+import os
+import re
+
+def fixpath(path):
+    parts = path.split("/")
+    return os.sep.join(parts)
+
+def replace(filename, pat, repl):
+    parts = filename.split("/")
+    filename = os.sep.join(parts)
+    for line in fileinput.input([filename], inplace=True, backup="~"):
+        print re.sub(pat, repl, line),
+
+def compute_zeoversion(version):
+    # ZEO version's trail ZODB versions by one full revision.
+    # ZODB 3.2c1 corresponds to ZEO 2.2c1
+    major, rest = version.split(".", 1)
+    major = int(major) - 1
+    return "%s.%s" % (major, rest)
+
+def write_zeoversion(path, version):
+    f = open(fixpath(path), "wb")
+    print >> f, version
+    f.close()
+
+def main(args):
+    version, date = args
+    zeoversion = compute_zeoversion(version)
+    
+    replace("setup.py", 'version="\S+"', 'version="%s"' % version)
+    replace("README.txt", "'\d+\.\d+[a-z]?\d*'", "'%s'" % version)
+    replace("ZODB/__init__.py",
+            "__version__ = '\S+'", "__version__ = '%s'" % version)
+    replace("ZEO/__init__.py",
+            'version = "\S+"', 'version = "%s"' % zeoversion)
+    write_zeoversion("ZEO/version.txt", zeoversion)
+    replace("NEWS.txt",
+            "Release date: XX-\S+-\S+", "Release date: %s" % date)
+
+if __name__ == "__main__":
+    import sys
+    main(sys.argv[1:])


=== ZODB3/test.py 1.25 => 1.26 ===
--- ZODB3/test.py:1.25	Mon Sep 15 12:29:23 2003
+++ ZODB3/test.py	Thu Oct  2 14:17:32 2003
@@ -675,7 +675,7 @@
         elif k == "-b":
             build = 1
         elif k == "-B":
-             build = build_inplace = 1
+            build = build_inplace = 1
         elif k == "-c":
             # make sure you have a recent version of pychecker
             if not os.environ.get("PYCHECKER"):


=== ZODB3/setup.py 1.50 => 1.51 ===
--- ZODB3/setup.py:1.50	Mon Jun 16 17:49:59 2003
+++ ZODB3/setup.py	Thu Oct  2 14:17:32 2003
@@ -154,7 +154,7 @@
             ]
 package_dir = {'BDBStorage': 'BDBStorage'}
 
-# include in a source distribution and 
+# include in a source distribution and
 if sys.version_info < (2, 3) or "sdist" in sys.argv:
     packages.append("logging")
 
@@ -171,7 +171,7 @@
            "zdaemon/zdctl.py",
            ]
 
-def copy_conf_files(cmd, outputbase):
+def copy_other_files(cmd, outputbase):
     for inputdir in [
         os.path.join("ZConfig", "tests", "input"),
         os.path.join("ZConfig", "tests", "library"),
@@ -181,12 +181,13 @@
         "ZEO",
         "ZODB",
         "zdaemon",
+        os.path.join("zdaemon", "tests"),
         "zLOG",
         ]:
         outputdir = os.path.join(outputbase, inputdir)
         if not os.path.exists(outputdir):
             dir_util.mkpath(outputdir)
-        for pattern in ("*.conf", "*.xml", "*.txt"):
+        for pattern in ("*.conf", "*.xml", "*.txt", "*.sh"):
             for fn in glob.glob(os.path.join(inputdir, pattern)):
                 cmd.copy_file(fn, os.path.join(outputbase, fn))
 
@@ -200,12 +201,12 @@
 
     def run(self):
         install_lib.run(self)
-        copy_conf_files(self, self.install_dir)
+        copy_other_files(self, self.install_dir)
 
 class MyPyBuilder(build_py):
     def build_packages(self):
         build_py.build_packages(self)
-        copy_conf_files(self, self.build_lib)
+        copy_other_files(self, self.build_lib)
 
 class MyDistribution(Distribution):
     # To control the selection of MyLibInstaller and MyPyBuilder, we
@@ -220,7 +221,7 @@
 doclines = __doc__.split("\n")
 
 setup(name="ZODB3",
-      version="3.2b2",
+      version="3.2c1",
       maintainer="Zope Corporation",
       maintainer_email="zodb-dev at zope.org",
       url = "http://www.zope.org/Wikis/ZODB/FrontPage",
@@ -229,7 +230,7 @@
       ext_modules = exts,
       headers = ['ExtensionClass/src/ExtensionClass.h', 'ZODB/cPersistence.h'],
       license = "http://www.zope.org/Resources/ZPL",
-      platforms = ["yes"], #
+      platforms = ["any"],
       description = doclines[0],
       classifiers = filter(None, classifiers.split("\n")),
       long_description = "\n".join(doclines[2:]),


=== ZODB3/README.txt 1.19 => 1.20 ===
--- ZODB3/README.txt:1.19	Mon Jun 16 17:49:59 2003
+++ ZODB3/README.txt	Thu Oct  2 14:17:32 2003
@@ -1,11 +1,5 @@
-ZODB3 3.2b2
-===========
-
-Please see the LICENSE.txt file for terms and conditions.
-
-Andrew Kuchling's ZODB/ZEO Programming Guide is provided verbatim
-under the terms of the GNU Free Documentation License.
-
+ZODB3 3.2 release candidate 1
+=============================
 
 Introduction
 ------------
@@ -16,14 +10,6 @@
 from the same source repository.  They have been packaged for use in
 non-Zope stand-alone Python applications.
 
-ZODB3 is known to work with Python 2.1.3, 2.2, and Python 2.3b1.  For
-best results, we recommend using Python 2.1.3 or Python 2.2.3.  Note
-that 2.2.1 does not work.
-
-Our primary development platform is Linux, but we also test on Windows
-2000.  The test suite should pass without error on all of these
-platforms, although it can take a long time on Windows.
-
 The components you get with the ZODB3 release are as follows:
 
 - Core ZODB, including the persistence machinery
@@ -35,6 +21,33 @@
 - ZConfig -- a Zope configuration language
 - documentation
 
+Our primary development platforms are Linux and Windows 2000.  The
+test suite should pass without error on all of these platforms,
+although it can take a long time on Windows -- longer if you use
+ZoneAlarm.  Many particularly slow tests are skipped unless you pass
+--all as an argument to test.py.
+
+Compatibility
+-------------
+
+ZODB 3.2 is known to work with Python 2.2 2.3.  For best results, we
+recommend using Python 2.3.2 or Python 2.2.3.  Note that 2.2.1 does
+not work.
+
+This version of ZODB can be used with Zope, but you must replace the
+version of ZODB that comes packaged with Zope.  It should be possible,
+for example, to install this code into a Zope 2.6 software home and
+run with Python 2.2.  
+
+The Zope 2.7 release should be compatible with this version of ZODB.
+Note that Zope 2.7 will include ZEO, so this package should only be
+needed to run a ZEO server.
+
+The ZEO server in ZODB 3.2 is partially compatible with ZODB 3.1.  A
+new client can talk to an old server, but a new server can not talk to
+an old client.  If you want to upgrade without shutting down all
+components, you should upgrade all of the clients first.  Once all the
+clients are running the new software, you can safely upgrade the server.
 
 Prerequisites
 -------------
@@ -83,7 +96,7 @@
     Type "help", "copyright", "credits" or "license" for more information.
     >>> import ZODB
     >>> ZODB.__version__
-    '3.2b1'
+    '3.2c1'
 
 Testing
 -------
@@ -99,7 +112,7 @@
 number of tests can vary depending on platform and available
 third-party libraries.::
 
-    Ran 1025 tests in 141.977s
+    Ran 1182 tests in 241.269s
 
     OK
 
@@ -109,7 +122,7 @@
 time to run.  To run all the available tests use the ``--all`` option.
 Running all the tests takes much longer.::
 
-    Ran 1515 tests in 1123.557s
+    Ran 1561 tests in 1461.557s
 
     OK
 
@@ -149,6 +162,17 @@
 settled on the 3.1 version number so that we don't create the
 impression that this version of ZODB is the same as the one Jim
 described as ZODB 3 in 2000.
+
+License
+-------
+
+ZODB is distributed under the Zope Public License, an OSI-approved
+open source license.  Please see the LICENSE.txt file for terms and
+conditions.
+
+The ZODB/ZEO Programming Guide included in the documentation is a
+modified version of Andrew Kuchling's original guide, provided under
+the terms of the GNU Free Documentation License.
 
 
 More information


=== ZODB3/NEWS.txt 1.33 => 1.34 ===
--- ZODB3/NEWS.txt:1.33	Mon Jun 16 17:43:55 2003
+++ ZODB3/NEWS.txt	Thu Oct  2 14:17:32 2003
@@ -1,3 +1,157 @@
+What's new in ZODB3 3.2 release candidate 1
+===========================================
+Release date: 01-Oct-2003
+
+Added a summary to the Doc directory.  There are several new documents
+in the 3.2 release, including "Using zdctl and zdrun to manage server
+processes" and "Running a ZEO Server HOWTO."
+
+Fixed ZEO's protocol negotiation mechanism so that a client ZODB 3.1
+can talk to a ZODB 3.2 server.
+
+Fixed a memory leak in the ZEO server.  The server was leaking a few
+KB of memory per connection.
+
+Fixed a memory leak in the ZODB object cache (cPickleCache).  The
+cache did not release two references to its Connection, causing a
+large cycle of objects to leak when a database was closed.
+
+Fixed a bug in the ZEO code that caused it to leak socket objects on
+Windows.  Specifically, fix the trigger mechanism so that both sockets
+created for a trigger are closed.
+
+Fixed a bug in the ZEO storage server that caused it to leave temp
+files behind.  The CommitLog class contains a temp file, but it was
+not closing the file.
+
+Changed the order of setuid() and setgid() calls in zdrun, so that
+setgid() is called first.
+
+Added a timeout to the ZEO test suite that prevents hangs.  The test
+suite creates ZEO servers with randomly assigned ports.  If the port
+happens to be in use, the test suite would hang because the ZEO client
+would never stop trying to connect.  The fix will cause the test to
+fail after a minute, but should prevent the test runner from hanging.
+
+The logging package was updated to include the latest version of the
+logging package from Python CVS.  Note that this package is only
+installed for Python 2.2.  In later versions of Python, it is
+available in the Python standard library.
+
+The ZEO1 directory was removed from the source distribution.  ZEO1 is
+not supported, and we never intended to include it in the release.
+
+What's new in ZODB3 3.2 beta 3
+==============================
+Release date: 23-Sep-2003
+
+Note: The changes listed for this release include changes also made in
+ZODB 3.1.x releases and ported to the 3.2 release.
+
+This version of ZODB 3.2 is not compatible with Python 2.1.  Early
+versions were explicitly designed to be compatible with Zope 2.6.
+That plan has been dropped, because Zope 2.7 is already in beta
+release. 
+
+Several of the classes in ZEO and ZODB now inherit from object, making
+them new-style classes.  The primary motivation for the change was to
+make it easier to debug memory leaks.  We don't expect any behavior to
+change as a result.
+
+A new feature to allow removal of connection pools for versions was
+ported from Zope 2.6.  This feature is needed by Zope to avoid denial
+of service attacks that allow a client to create an arbitrary number
+of version pools.
+
+Fixed several critical ZEO bugs.
+
+- If several client transactions were blocked waiting for the storage
+  and one of the blocked clients disconnected, the server would
+  attempt to restart one of the other waiting clients.  Since the
+  disconnected client did not have the storage lock, this could lead
+  to deadlock.  It could also cause the assertion "self._client is
+  None" to fail.
+
+- If a storage server fails or times out between the vote and the
+  finish, the ZEO cache could get populated with objects that didn't
+  make it to the storage server.
+
+- If a client loses its connection to the server near the end of a
+  transaction, it is now guaranteed to get a ClientDisconnected error
+  even if it reconnects before the transaction finishes.  This is
+  necessary because the server will always abort the transaction.
+  In some cases, the client would never see an error for the aborted
+  transaction.
+
+- In tpc_finish(), reordered the calls so that the server's tpc_finish()
+  is called (and must succeed) before we update the ZEO client cache.
+
+- The storage name is now prepended to the sort key, to ensure a
+  unique global sort order if storages are named uniquely.  This
+  can prevent deadlock in some unusual cases.
+
+Fixed several serious flaws in the implementation of the ZEO
+authentication protocol.
+
+- The smac layer would accept a message without a MAC even after the
+  session key was established.
+
+- The client never initialized its session key, so it never checked
+  incoming messages or created MACs for outgoing messags.
+
+- The smac layer used a single HMAC instance for sending and receiving
+  messages.  This approach could only work if client and server were
+  guaranteed to process all messages in the same total order, which
+  could only happen in simple scenarios like unit tests.
+
+Fixed a bug in ExtensionClass when comparing ExtensionClass instances.
+The code could raise RuntimeWarning under Python 2.3, and produce
+incorrect results on 64-bit platforms.
+
+Fixed bug in BDBStorage that cause lead to DBRunRecoveryErrors when a
+transaction was aborted after performing operations like commit
+version or undo that create new references to existing pickles.
+
+Fixed a bug in Connection.py that caused it to fail with an
+AttributeError if close() was called after the database was closed.
+
+The test suite leaves fewer log files behind, although it still leaves
+a lot of junk.  The test.py script puts each tests temp files in a
+separate directory, so it is easier to see which tests are causing
+problems.  Unfortunately, it is still to tedious to figure out why the
+identified tests are leaving files behind.
+
+This release contains the latest and greatest version of the
+BDBStorage.  This storage has still not seen testing in a production
+environment, but it represents the current best design and most recent
+code culled from various branches where development has occurred.
+
+The Tools directory contains a number of small improvements, a few new
+tools, and README.txt that catalogs the tools.  Many of the tools are
+installed by setup.py; those scripts will now have a #! line set
+automatically on Unix.
+
+Fixed bugs in Tools/repozo.py, including a timing-dependent one that
+could cause the following invocation of repozo to do a full backup when
+an incremental backup would have sufficed.
+
+A pair of new scripts from Jim Fulton can be used to synthesize
+workloads and measure ZEO performance:  see zodbload.py and
+zeoserverlog.py in the Tools directory.  Note that these require
+Zope.
+
+Tools/checkbtrees.py was strengthened in two ways:
+
+- In addition to running the _check() method on each BTree B found,
+  BTrees.check.check(B) is also run.  The check() function was written
+  after checkbtrees.py, and identifies kinds of damage B._check()
+  cannot find.
+
+- Cycles in the object graph no longer lead to unbounded output.
+  Note that preventing this requires remembering the oid of each
+  persistent object found, which increases the memory needed by the
+  script.
+
 What's new in ZODB3 3.2 beta 2
 ==============================
 Release date: 16-Jun-2003
@@ -307,6 +461,229 @@
 
 The Sync extension was removed from ExtensionClass, because it was not
 used by ZODB.
+
+What's new in ZODB3 3.1.4?
+==========================
+Release date: 11-Sep-2003
+
+A new feature to allow removal of connection pools for versions was
+ported from Zope 2.6.  This feature is needed by Zope to avoid denial
+of service attacks that allow a client to create an arbitrary number
+of version pools.
+
+A pair of new scripts from Jim Fulton can be used to synthesize
+workloads and measure ZEO performance:  see zodbload.py and
+zeoserverlog.py in the Tools directory.  Note that these require
+Zope.
+
+Tools/checkbtrees.py was strengthened in two ways:
+
+- In addition to running the _check() method on each BTree B found,
+  BTrees.check.check(B) is also run.  The check() function was written
+  after checkbtrees.py, and identifies kinds of damage B._check()
+  cannot find.
+
+- Cycles in the object graph no longer lead to unbounded output.
+  Note that preventing this requires remembering the oid of each
+  persistent object found, which increases the memory needed by the
+  script.
+
+What's new in ZODB3 3.1.3?
+==========================
+Release date: 18-Aug-2003
+
+Fixed several critical ZEO bugs.
+
+- If a storage server fails or times out between the vote and the
+  finish, the ZEO cache could get populated with objects that didn't
+  make it to the storage server.
+
+- If a client loses its connection to the server near the end of a
+  transaction, it is now guaranteed to get a ClientDisconnected error
+  even if it reconnects before the transaction finishes.  This is
+  necessary because the server will always abort the transaction.
+  In some cases, the client would never see an error for the aborted
+  transaction.
+
+- In tpc_finish(), reordered the calls so that the server's tpc_finish()
+  is called (and must succeed) before we update the ZEO client cache.
+
+- The storage name is now prepended to the sort key, to ensure a
+  unique global sort order if storages are named uniquely.  This
+  can prevent deadlock in some unusual cases.
+
+A variety of fixes and improvements to Berkeley storage (aka BDBStorage)
+were back-ported from ZODB 4.  This release now contains the most
+current version of the Berkeley storage code.  Many tests have been
+back-ported, but not all.
+
+Modified the Windows tests to wait longer at the end of ZEO tests for
+the server to shut down.  Before Python 2.3, there is no waitpid() on
+Windows, and, thus, no way to know if the server has shut down.  The
+change makes the Windows ZEO tests much less likely to fail or hang,
+at the cost of increasing the time needed to run the tests.
+
+Fixed a bug in ExtensionClass when comparing ExtensionClass instances.
+The code could raise RuntimeWarning under Python 2.3, and produce
+incorrect results on 64-bit platforms.
+
+Fixed bugs in Tools/repozo.py, including a timing-dependent one that
+could cause the following invocation of repozo to do a full backup when
+an incremental backup would have sufficed.
+
+Added Tools/README.txt that explains what each of the scripts in the
+Tools directory does.
+
+There were many small changes and improvements to the test suite.
+
+What's new in ZODB3 3.1.2 final?
+================================
+
+Fixed bug in FileStorage pack that caused it to fail if it encountered
+an old undo record (status "u").
+
+Fixed several bugs in FileStorage pack that could cause OverflowErrors
+for storages > 2 GB.
+
+Fixed memory leak in TimeStamp.laterThan() that only occurred when it
+had to create a new TimeStamp.
+
+Fixed two BTree bugs that were fixed on the head a while ago:
+
+   - bug in fsBTree that would cause byValue searches to end early.
+     (fsBTrees are never used this way, but it was still a bug.)
+
+   -  bug that lead to segfault if BTree was mutated via deletion
+      while it was being iterated over.
+
+What's new in ZODB3 3.1.2 beta 2?
+=================================
+
+Fixed critical race conditions in ZEO's cache consistency code that
+could cause invalidations to be lost or stale data to be written to
+the cache.  These bugs can lead to data loss or data corruption.
+These bugs are relatively unlikely to be provoked in sites with few
+conflicts, but the possibility of failure existed any time an object
+was loaded and stored concurrently.
+
+Fixed a bug in conflict resolution that failed to ghostify an object
+if it was involved in a conflict.  (This code may be redundant, but it
+has been fixed regardless.)
+
+The ZEO server was fixed so that it does not perform any I/O until all
+of a transactions' invalidations are queued.  If it performs I/O in the
+middle of sending invalidations, it would be possible to overlap a
+load from a client with the invalidation being sent to it.
+
+The ZEO cache now handles invalidations atomically.  This is the same
+sort of bug that is described in the 3.1.2b1 section below, but it
+affects the ZEO cache.
+
+Fixed several serious bugs in fsrecover that caused it to fail
+catastrophically in certain cases because it thought it had found a
+checkpoint (status "c") record when it was in the middle of the file.
+
+What's new in ZODB3 3.1.2 beta 1?
+=================================
+
+ZODB
+----
+
+Invalidations are now processed atomically.  Each transaction will see
+all the changes caused by an earlier transaction or none of them.
+Before this patch, it was possible for a transaction to see invalid
+data because it saw only a subset of the invalidations.  This is the
+most likely cause of reported BTrees corruption, where keys were
+stored in the wrong bucket.  When a BTree bucket splits, the bucket
+and the bucket's parent are both modified.  If a transaction sees the
+invalidation for the bucket but not the parent, the BTree in memory
+will be internally inconsistent and keys can be put in the wrong
+bucket.  The atomic invalidation fix prevents this problem.
+
+A number of minor reference count fixes in the object cache were
+fixed.  That's the cPickleCache.c file.
+
+It was possible for a transaction that failed in tpc_finish() to lose
+the traceback that caused the failure.  The transaction code was fixed
+to report the original error as well as any errors that occur while
+trying to recover from the original error.
+
+ZEO
+---
+
+A ZEO client will not read from its cache during cache verification.
+This fix was necessary to prevent the client from reading inconsistent
+data.
+
+The isReadOnly() method of a ZEO client was fixed to return the false
+when the client is connected to a read-only fallback server.
+
+The sync() method of ClientStorage and the pending() method of a zrpc
+connection now do both input and output.
+
+The short_repr() function used to generate log messages was fixed so
+that it does not blow up creating a repr of very long tuples.
+
+Storages
+--------
+
+FileStorage has a new pack() implementation that fixes several
+reported problems that could lead to data loss.
+
+Two small bugs were fixed in DemoStorage.  undoLog() did not handle
+its arguments correctly and pack() could accidentally delete objects
+created in versions.
+
+Fixed trivial bug in fsrecover that prevented it from working at all.
+
+FileStorage will use fsync() on Windows starting with Python 2.2.3.
+
+FileStorage's commit version was fixed.  It used to stop after the
+first object, leaving all the other objects in the version.
+
+BTrees
+------
+
+Trying to store an object of a non-integer type into an IIBTree
+or OIBTree could leave the bucket in a variety of insane states.  For
+example, trying
+
+    b[obj] = "I'm a string, not an integer"
+
+where b is an OIBTree.  This manifested as a refcount leak in the test
+suite, but could have been much worse (most likely in real life is that
+a seemingly arbitrary existing key would "go missing").
+
+When deleting the first child of a BTree node with more than one
+child, a reference to the second child leaked.  This could cause
+the entire bucket chain to leak (not be collected as garbage
+despite not being referenced anymore).
+
+Other minor BTree leak scenarios were also fixed.
+
+Other
+-----
+
+Comparing a Missing.Value object to a C type that provide its own
+comparison operation could lead to a segfault when the Missing.Value
+was on the right-hand side of the comparison operator.  The Missing
+class was fixed so that its coercion and comparison operations are
+safe.
+
+Tools
+-----
+
+Four tools are now installed by setup.py: fsdump.py, fstest.py,
+repozo.py, and zeopack.py.
+
+What's new in ZODB3 3.1.1 final?
+================================
+Release date: 11-Feb-2003
+
+Tools
+-----
+
+Updated repozo.py tool
 
 What's new in ZODB3 3.1.1 beta 2?
 =================================


=== ZODB3/MANIFEST.in 1.10 => 1.11 ===
--- ZODB3/MANIFEST.in:1.10	Fri May 30 17:09:05 2003
+++ ZODB3/MANIFEST.in	Thu Oct  2 14:17:32 2003
@@ -6,12 +6,11 @@
 recursive-include BDBStorage *.c
 recursive-include ZEO *.xml *.txt
 recursive-include zLOG *.xml
-recursive-include zdaemon *.xml *.conf
+recursive-include zdaemon *.xml *.conf *.sh
 recursive-include ZConfig *.xml *.conf
 include ZConfig/scripts/zconfig
 graft Doc
 graft ExtensionClass
 graft Tools
-graft ZEO1
 graft ZConfig/doc
 global-exclude .cvsignore


=== ZODB3/MANIFEST 1.16 => 1.17 ===
--- ZODB3/MANIFEST:1.16	Mon Jun 16 17:48:58 2003
+++ ZODB3/MANIFEST	Thu Oct  2 14:17:32 2003
@@ -66,6 +66,7 @@
 Doc/db-4014-patch.txt
 Doc/storage.pdf
 Doc/storage.tex
+Doc/storages.html
 Doc/zdctl.txt
 Doc/zodb.pdf
 Doc/ZEO/README.txt
@@ -157,6 +158,7 @@
 Persistence/__init__.py
 ThreadedAsync/LoopCallback.py
 ThreadedAsync/__init__.py
+Tools/README.txt
 Tools/analyze.py
 Tools/checkbtrees.py
 Tools/fsdump.py
@@ -168,10 +170,13 @@
 Tools/parsezeolog.py
 Tools/repozo.py
 Tools/space.py
+Tools/timeout.py
 Tools/zeopack.py
 Tools/zeoqueue.py
 Tools/zeoreplay.py
+Tools/zeoserverlog.py
 Tools/zeoup.py
+Tools/zodbload.py
 Tools/tests/test-checker.fs
 Tools/tests/testfstest.py
 Tools/tests/testzeopack.py
@@ -214,8 +219,8 @@
 ZConfig/tests/input/simple.xml
 ZConfig/tests/input/simplesections.conf
 ZConfig/tests/library/thing/component.xml
-ZConfig/tests/library/thing/ext/extension.xml
 ZConfig/tests/library/widget/component.xml
+ZConfig/tests/library/widget/extra.xml
 ZEO/ClientCache.py
 ZEO/ClientStorage.py
 ZEO/ClientStub.py
@@ -274,26 +279,6 @@
 ZEO/zrpc/server.py
 ZEO/zrpc/smac.py
 ZEO/zrpc/trigger.py
-ZEO1/ClientCache.py
-ZEO1/ClientStorage.py
-ZEO1/Invalidator.py
-ZEO1/StorageServer.py
-ZEO1/__init__.py
-ZEO1/asyncwrap.py
-ZEO1/fap.py
-ZEO1/smac.py
-ZEO1/start.py
-ZEO1/trigger.py
-ZEO1/zrpc.py
-ZEO1/tests/Cache.py
-ZEO1/tests/__init__.py
-ZEO1/tests/forker.py
-ZEO1/tests/multi.py
-ZEO1/tests/speed.py
-ZEO1/tests/stress.py
-ZEO1/tests/testClientCache.py
-ZEO1/tests/testZEO.py
-ZEO1/tests/winserver.py
 ZODB/ActivityMonitor.py
 ZODB/BaseStorage.py
 ZODB/ConflictResolution.py
@@ -395,7 +380,9 @@
 zdaemon/zdoptions.py
 zdaemon/zdrun.py
 zdaemon/tests/__init__.py
+zdaemon/tests/donothing.sh
 zdaemon/tests/nokill.py
+zdaemon/tests/parent.py
 zdaemon/tests/testDaemon.py
 zdaemon/tests/testzdoptions.py
 zdaemon/tests/testzdrun.py




More information about the Zodb-checkins mailing list