Commit 70dfce11 authored by Tim Peters's avatar Tim Peters

By-hand merging of 3.4 changes to make the ZODB and

ZEO version numbers the same (an auto-merge could do
very little of this correctly!).
parent 20a0a0fc
......@@ -5,14 +5,22 @@ Release date: DD-MMM-YYYY
What's new in ZODB3 3.4a4?
==========================
Release date: DD-MMM-YYYY
Release date: 23-Apr-2005
ZEO
---
The default logging setup in ``runzeo.py`` was broken. It was changed
so that running ``runzeo.py`` from a command line now, and without using
a config file, prints output to the console much as ZODB 3.2 did.
- The ZODB and ZEO version numbers are now the same. Concretely::
import ZODB, ZEO
assert ZODB.__version__ == ZEO.version
no longer fails. If interested, see the README file for details about
earlier version numbering schemes.
- The default logging setup in ``runzeo.py`` was broken. It was changed
so that running ``runzeo.py`` from a command line now, and without using
a config file, prints output to the console much as ZODB 3.2 did.
ZEO on Windows
--------------
......
......@@ -124,10 +124,13 @@ Running all the tests takes much longer.::
History
-------
The version numbering scheme for ZODB is complicated. Starting with
the ZODB 3.1 release, we tried to make it simpler. Versions prior to
3.1 had different names and different numbers. This section describes
the gory details.
The historical version numbering schemes for ZODB and ZEO are complicated.
Starting with ZODB 3.4, the ZODB and ZEO version numbers are the same.
In the ZODB 3.1 through 3.3 lines, the ZEO version number was "one smaller"
than the ZODB version number; e.g., ZODB 3.2.7 included ZEO 2.2.7. ZODB and
ZEO were distinct releases prior to ZODB 3.1, and had independent version
numbers.
Historically, ZODB was distributed as a part of the Zope application
server. Jim Fulton's paper at the Python conference in 2000 described
......@@ -155,9 +158,11 @@ release "ZODB".
To make matters worse, we worked on a ZODB4 package for a while and
made a couple of alpha releases. We've now abandoned that effort,
because we didn't have the resources to pursue while also maintaining
because we didn't have the resources to pursue ot while also maintaining
ZODB(3).
License
-------
......
......@@ -46,13 +46,11 @@ def replace(filename, pat, repl):
print >> e, "*" * 60, "Oops!"
print >> e, " Failed to find %r in %r" % (pat, filename)
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)
# Nothing in our codebase cares about ZEO/version.txt. Jeremy said
# someone asked for it so that a shell script could read up the ZEO
# version easily.
# Before ZODB 3.4, the ZEO version was one smaller than the ZODB version;
# e.g., ZEO 2.2.7 shipped with ZODB 3.2.7.
def write_zeoversion(path, version):
f = file(path, "w")
print >> f, version
......@@ -60,7 +58,6 @@ def write_zeoversion(path, version):
def main(args):
version, date = args
zeoversion = compute_zeoversion(version)
replace("setup.py",
r'version="\S+"',
......@@ -70,8 +67,8 @@ def main(args):
'__version__ = "%s"' % version)
replace("src/ZEO/__init__.py",
r'version = "\S+"',
'version = "%s"' % zeoversion)
write_zeoversion("src/ZEO/version.txt", zeoversion)
'version = "%s"' % version)
write_zeoversion("src/ZEO/version.txt", version)
replace("NEWS.txt",
r"^Release date: .*",
"Release date: %s" % date)
......
......@@ -22,4 +22,4 @@ ZEO is now part of ZODB; ZODB's home on the web is
"""
# The next line must use double quotes, so release.py recognizes it.
version = "2.5a0"
version = "3.5a0"
......@@ -42,6 +42,13 @@ class DummyDB:
def invalidate(self, *args):
pass
class OneTimeTests(unittest.TestCase):
def checkZEOVersionNumber(self):
import ZEO
# Starting with ZODB 3.4, the ZODB and ZEO version numbers should
# be identical.
self.assertEqual(ZODB.__version__, ZEO.version)
class MiscZEOTests:
"""ZEO tests that don't fit in elsewhere."""
......@@ -183,25 +190,15 @@ class FileStorageTests(FullGenericTests):
</filestorage>
""" % filename
class BDBTests(FullGenericTests):
"""ZEO backed by a Berkeley full storage."""
level = 2
def getConfig(self):
self._envdir = tempfile.mktemp()
return """\
<fullstorage 1>
envdir %s
</fullstorage>
""" % self._envdir
class MappingStorageTests(GenericTests):
"""ZEO backed by a Mapping storage."""
def getConfig(self):
return """<mappingstorage 1/>"""
test_classes = [FileStorageTests, MappingStorageTests]
test_classes = [OneTimeTests,
FileStorageTests,
MappingStorageTests]
def test_suite():
suite = unittest.TestSuite()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment