[Checkins] [zopefoundation/ZODB] e7d8ca: Checkpoint of Python 3 port. Over 800 of the 897 u...

GitHub noreply at github.com
Fri May 10 19:34:20 UTC 2013


  Branch: refs/heads/master
  Home:   https://github.com/zopefoundation/ZODB
  Commit: e7d8ca7229998146f79e1f90302ae6486bc95a60
      https://github.com/zopefoundation/ZODB/commit/e7d8ca7229998146f79e1f90302ae6486bc95a60
  Author: Stephan Richter <srichter at cipherhealth.com>
  Date:   2013-02-13 (Wed, 13 Feb 2013)

  Changed paths:
    M bootstrap.py
    M buildout.cfg
    M setup.py
    M src/ZODB/BaseStorage.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/Connection.py
    M src/ZODB/DB.py
    M src/ZODB/DemoStorage.py
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/format.py
    M src/ZODB/FileStorage/fsdump.py
    M src/ZODB/FileStorage/fsoids.py
    M src/ZODB/FileStorage/fspack.py
    M src/ZODB/FileStorage/tests.py
    M src/ZODB/FileStorage/zconfig.txt
    M src/ZODB/POSException.py
    M src/ZODB/__init__.py
    M src/ZODB/blob.py
    M src/ZODB/broken.py
    M src/ZODB/config.py
    M src/ZODB/fsIndex.py
    M src/ZODB/fsrecover.py
    M src/ZODB/fstools.py
    M src/ZODB/scripts/analyze.py
    M src/ZODB/scripts/checkbtrees.py
    M src/ZODB/scripts/fsoids.py
    M src/ZODB/scripts/fsrefs.py
    M src/ZODB/scripts/fsstats.py
    M src/ZODB/scripts/fstail.py
    M src/ZODB/scripts/fstest.py
    M src/ZODB/scripts/manual_tests/testfstest.py
    M src/ZODB/scripts/migrate.py
    M src/ZODB/scripts/migrateblobs.py
    M src/ZODB/scripts/netspace.py
    M src/ZODB/scripts/repozo.py
    M src/ZODB/scripts/space.py
    M src/ZODB/scripts/tests/test_repozo.py
    M src/ZODB/scripts/zodbload.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/BasicStorage.py
    M src/ZODB/tests/ConflictResolution.py
    M src/ZODB/tests/Corruption.py
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/MTStorage.py
    M src/ZODB/tests/MVCCMappingStorage.py
    M src/ZODB/tests/MinPO.py
    M src/ZODB/tests/PackableStorage.py
    M src/ZODB/tests/StorageTestBase.py
    M src/ZODB/tests/Synchronization.py
    M src/ZODB/tests/TransactionalUndoStorage.py
    M src/ZODB/tests/dangle.py
    M src/ZODB/tests/hexstorage.py
    M src/ZODB/tests/loggingsupport.py
    M src/ZODB/tests/speed.py
    M src/ZODB/tests/testCache.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/testConnectionSavepoint.py
    M src/ZODB/tests/testConnectionSavepoint.txt
    M src/ZODB/tests/testDB.py
    M src/ZODB/tests/testDemoStorage.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testPersistentMapping.py
    M src/ZODB/tests/testRecover.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/testUtils.py
    M src/ZODB/tests/testZODB.py
    M src/ZODB/tests/testblob.py
    M src/ZODB/tests/testfsIndex.py
    M src/ZODB/tests/testmvcc.py
    M src/ZODB/tests/util.py
    M src/ZODB/transact.py
    M src/ZODB/utils.py
    M src/ZODB/utils.txt

  Log Message:
  -----------
  Checkpoint of Python 3 port. Over 800 of the 897 unit tests are passing.

Thanks to Martin v. Loewis for having done some of the initial lifting
for a DZUG talk. I used a lot of his changes from this diff:

http://www.dcl.hpi.uni-potsdam.de/home/loewis/zodb/ZODB.diff

Applied all changes manually to make sure I do understand them and that
they are correct.

As always 90% of the work is to catch all places where we want to deal
with bytes instead of strings.


  Commit: de1ed537d87d0730f826c4465068a2d80d496207
      https://github.com/zopefoundation/ZODB/commit/de1ed537d87d0730f826c4465068a2d80d496207
  Author: Stephan Richter <srichter at cipherhealth.com>
  Date:   2013-02-14 (Thu, 14 Feb 2013)

  Changed paths:
    M src/ZODB/BaseStorage.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/fsoids.py
    M src/ZODB/FileStorage/tests.py
    M src/ZODB/blob.py
    M src/ZODB/fsIndex.py
    M src/ZODB/scripts/analyze.py
    M src/ZODB/scripts/checkbtrees.py
    M src/ZODB/scripts/fsrefs.py
    M src/ZODB/scripts/fsstats.py
    M src/ZODB/scripts/fstail.py
    M src/ZODB/scripts/fstest.py
    M src/ZODB/scripts/migrate.py
    M src/ZODB/scripts/migrateblobs.py
    M src/ZODB/scripts/netspace.py
    M src/ZODB/scripts/space.py
    M src/ZODB/scripts/zodbload.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/BasicStorage.py
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/MTStorage.py
    M src/ZODB/tests/MinPO.py
    M src/ZODB/tests/TransactionalUndoStorage.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testPersistentMapping.py
    M src/ZODB/tests/testUtils.py
    M src/ZODB/tests/testZODB.py
    M src/ZODB/tests/test_storage.py
    M src/ZODB/tests/testblob.py
    M src/ZODB/tests/util.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  Addressed all of Marius' comments from the previous checkin.


  Commit: 266cadf9feea90f978c9fceea0d583962eb6d153
      https://github.com/zopefoundation/ZODB/commit/266cadf9feea90f978c9fceea0d583962eb6d153
  Author: Stephan Richter <srichter at cipherhealth.com>
  Date:   2013-02-14 (Thu, 14 Feb 2013)

  Changed paths:
    M src/ZODB/BaseStorage.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/ConflictResolution.txt
    M src/ZODB/Connection.py
    M src/ZODB/DB.py
    M src/ZODB/DemoStorage.test
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/tests.py
    M src/ZODB/POSException.py
    M src/ZODB/blob.py
    M src/ZODB/fsrecover.py
    M src/ZODB/historical_connections.txt
    M src/ZODB/persistentclass.txt
    M src/ZODB/serialize.py
    M src/ZODB/tests/MinPO.py
    M src/ZODB/tests/blob_basic.txt
    M src/ZODB/tests/blob_consume.txt
    M src/ZODB/tests/blob_layout.txt
    M src/ZODB/tests/blobstorage_packing.txt
    M src/ZODB/tests/dbopen.txt
    M src/ZODB/tests/multidb.txt
    M src/ZODB/tests/testBroken.py
    M src/ZODB/tests/testCache.py
    M src/ZODB/tests/testConfig.py
    M src/ZODB/tests/testDB.py
    M src/ZODB/tests/testDemoStorage.py
    M src/ZODB/tests/testMVCCMappingStorage.py
    M src/ZODB/tests/testPersistentList.py
    M src/ZODB/tests/testPersistentMapping.py
    M src/ZODB/tests/testPersistentWeakref.py
    M src/ZODB/tests/testRecover.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/testUtils.py
    M src/ZODB/tests/test_fsdump.py
    R src/ZODB/tests/test_persistentclass.py
    M src/ZODB/tests/testblob.py
    M src/ZODB/tests/testconflictresolution.py
    M src/ZODB/tests/testcrossdatabasereferences.py
    M src/ZODB/tests/testfsIndex.py
    M src/ZODB/tests/testfsoids.py
    M src/ZODB/tests/testhistoricalconnections.py
    M src/ZODB/tests/testpersistentclass.py
    M src/ZODB/tests/util.py
    M src/ZODB/utils.py
    A tox.ini

  Log Message:
  -----------
  Fixed up as many unit tests as I could. There are between 13-16
failures left.


  Commit: f0b261527006418c0fd76b9fe50352e42650cc15
      https://github.com/zopefoundation/ZODB/commit/f0b261527006418c0fd76b9fe50352e42650cc15
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-14 (Thu, 14 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testCache.py

  Log Message:
  -----------
  Give up on an argument lost 10 years ago.


  Commit: f4bfe178fa29e4d188fe61e4d35b9a513e355909
      https://github.com/zopefoundation/ZODB/commit/f4bfe178fa29e4d188fe61e4d35b9a513e355909
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-14 (Thu, 14 Feb 2013)

  Changed paths:
    M src/ZODB/tests/MinPO.py

  Log Message:
  -----------
  Add __le__ and __ge__


  Commit: 326e9f3846224c17835fbb98260f767294ee2519
      https://github.com/zopefoundation/ZODB/commit/326e9f3846224c17835fbb98260f767294ee2519
  Author: Stephan Richter <srichter at cipherhealth.com>
  Date:   2013-02-15 (Fri, 15 Feb 2013)

  Changed paths:
    M src/ZODB/BaseStorage.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/fspack.py
    M src/ZODB/blob.py
    M src/ZODB/scripts/analyze.py
    M src/ZODB/scripts/tests/test_repozo.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/Corruption.py
    M src/ZODB/tests/IExternalGC.test
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/PackableStorage.py
    M src/ZODB/tests/ReadOnlyStorage.py
    M src/ZODB/tests/StorageTestBase.py
    M src/ZODB/tests/TransactionalUndoStorage.py
    M src/ZODB/tests/blob_connection.txt
    M src/ZODB/tests/blob_importexport.txt
    M src/ZODB/tests/blob_packing.txt
    M src/ZODB/tests/blob_transaction.txt
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testblob.py
    M src/ZODB/tests/util.py
    M tox.ini

  Log Message:
  -----------
  Okay, the test failures are now down to 19/1379. The left-over errors are
largely due to:

* Different pickle size in Python
  (even for protocol 1, where new padding is added as far as I can tell.)

* Weak references do not seem to work correctly.

* When all tests are run, committing transactions fails. Probably some
  tests are not cleaning up enough after themselves.

The biggest issue remaining at this point is the fork of Python 3.3's
pickle to properly load Python 2 binary strings and adding back
``noload()`` to the unpickler.


  Commit: 67f90d1bc663ffb72d72711f2a5ff5c8f860be12
      https://github.com/zopefoundation/ZODB/commit/67f90d1bc663ffb72d72711f2a5ff5c8f860be12
  Author: Stephan Richter <srichter at cipherhealth.com>
  Date:   2013-02-15 (Fri, 15 Feb 2013)

  Changed paths:
    M buildout.cfg
    M setup.py

  Log Message:
  -----------
  Do not rely on a checkout of zdaemon anymore.


  Commit: 9509d1a6761027b37ea7577872b0791146b012eb
      https://github.com/zopefoundation/ZODB/commit/9509d1a6761027b37ea7577872b0791146b012eb
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-15 (Fri, 15 Feb 2013)

  Changed paths:
    M src/ZODB/tests/BasicStorage.py
    M src/ZODB/tests/ConflictResolution.py
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/ReadOnlyStorage.py
    M src/ZODB/tests/RecoveryStorage.py
    M src/ZODB/tests/RevisionStorage.py
    M src/ZODB/tests/StorageTestBase.py
    M src/ZODB/tests/TransactionalUndoStorage.py
    M src/ZODB/tests/testActivityMonitor.py
    M src/ZODB/tests/testCache.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/testDB.py
    M src/ZODB/tests/testDemoStorage.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testMVCCMappingStorage.py
    M src/ZODB/tests/testPersistentList.py
    M src/ZODB/tests/testPersistentMapping.py
    M src/ZODB/tests/testRecover.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/testUtils.py
    M src/ZODB/tests/testZODB.py
    M src/ZODB/tests/testblob.py
    M src/ZODB/tests/testfsIndex.py

  Log Message:
  -----------
  Fix Py3k namnyism: 'assert_' -> 'assertTrue'.


  Commit: 690c699c2e0178c245db776e9988de56be30fe51
      https://github.com/zopefoundation/ZODB/commit/690c699c2e0178c245db776e9988de56be30fe51
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-15 (Fri, 15 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/manual_tests/testfstest.py
    M src/ZODB/scripts/tests/test_repozo.py
    M src/ZODB/tests/Corruption.py
    M src/ZODB/tests/MTStorage.py
    M src/ZODB/tests/TransactionalUndoStorage.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/testPersistentList.py
    M src/ZODB/tests/testZODB.py
    M src/ZODB/tests/testfsIndex.py

  Log Message:
  -----------
  Fix Py3k namnyisms: 'fail{If,Unless}' -> 'assert{False,True}'.


  Commit: 5e9c78109ede8b3cfb851a6490e6eebe91f379c3
      https://github.com/zopefoundation/ZODB/commit/5e9c78109ede8b3cfb851a6490e6eebe91f379c3
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-15 (Fri, 15 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/tests/test_repozo.py
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/PersistentStorage.py
    M src/ZODB/tests/RecoveryStorage.py
    M src/ZODB/tests/testCache.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/testUtils.py

  Log Message:
  -----------
  Fix Py3k namnyisms: 'assertEquals' -> 'assertEqual'.


  Commit: c59b0ffcfdf890496efde26454fdcc5cec679d8c
      https://github.com/zopefoundation/ZODB/commit/c59b0ffcfdf890496efde26454fdcc5cec679d8c
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Fix gc_blob_removes_uncommitted_data

Apparently the with statement leaves a local variable pointing to the
BlobFile object, which holds a reference to the blog and prevents it
from being garbage collected.


  Commit: 37c20b52722ee7e530e33055f63cd070778f3d07
      https://github.com/zopefoundation/ZODB/commit/37c20b52722ee7e530e33055f63cd070778f3d07
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/fstest.py

  Log Message:
  -----------
  WIP: Python3-ify fstest.py

Next: the hexify() function needs to handle bytestrings on Py3 and
regular strings on Py2.


  Commit: 57e8924459ec4276b9c51ee936638434136b28f1
      https://github.com/zopefoundation/ZODB/commit/57e8924459ec4276b9c51ee936638434136b28f1
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/fstest.py
    M src/ZODB/scripts/tests/test_fstest.py

  Log Message:
  -----------
  Fix fstest tests on Python 3


  Commit: a86575783f30fee79c47c16c317efe9c26254590
      https://github.com/zopefoundation/ZODB/commit/a86575783f30fee79c47c16c317efe9c26254590
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Fix blob_layout.txt failures on Python 2.7


  Commit: 338536e8c03ec024ed9e9d9faf5870c566545155
      https://github.com/zopefoundation/ZODB/commit/338536e8c03ec024ed9e9d9faf5870c566545155
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Unify doctest indentation


  Commit: 6cd069dc926776fa8145ca09493f108c76499b4e
      https://github.com/zopefoundation/ZODB/commit/6cd069dc926776fa8145ca09493f108c76499b4e
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Use the testXXX convention for test names


  Commit: 7f626297a31eaf831aecb5c477ea2b3684991af5
      https://github.com/zopefoundation/ZODB/commit/7f626297a31eaf831aecb5c477ea2b3684991af5
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Consistently name doctest holder functions

(To distinguish them from real functions that actually do something when
called.)


  Commit: b41613fe2486fef44e5ebe91a77ca33c225dbe02
      https://github.com/zopefoundation/ZODB/commit/b41613fe2486fef44e5ebe91a77ca33c225dbe02
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Typo fixes


  Commit: 8788cb71217395eb50482b8bc2080cbf6aaa5d25
      https://github.com/zopefoundation/ZODB/commit/8788cb71217395eb50482b8bc2080cbf6aaa5d25
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Fix doctest_readCurrent

It seems that OIDs are assigned in random order (dictionary iteration
order perhaps), and the test made assumptions.  Add an extra
transaction.commit() between object addition to fix OID assignment
order.


  Commit: 631bf4ed48c0f52cab483514641c8cd42feb16b2
      https://github.com/zopefoundation/ZODB/commit/631bf4ed48c0f52cab483514641c8cd42feb16b2
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/tests/MinPO.py

  Log Message:
  -----------
  Fix test_weakrefs_functional

In Python 3 object.__hash__ raises TypeError, so we need an explicit
override if we want hashability.


  Commit: c834a2918b3d4e908e290632bd974966067c1b26
      https://github.com/zopefoundation/ZODB/commit/c834a2918b3d4e908e290632bd974966067c1b26
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/ConflictResolution.py
    M src/ZODB/ConflictResolution.txt

  Log Message:
  -----------
  Fix ConflictResolution tests

Python 3 really wants rich comparison operators


  Commit: b9e24eb7e7f75e3bb76f05f43f5729718d23435e
      https://github.com/zopefoundation/ZODB/commit/b9e24eb7e7f75e3bb76f05f43f5729718d23435e
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/FileStorage/fsoids.py
    M src/ZODB/scripts/fsoids.py
    M src/ZODB/serialize.py

  Log Message:
  -----------
  Refactoring, typo fixes


  Commit: cb8fe1195de3fd8f0bad03d796aae76156f359d9
      https://github.com/zopefoundation/ZODB/commit/cb8fe1195de3fd8f0bad03d796aae76156f359d9
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/FileStorage/fsoids.py

  Log Message:
  -----------
  Fix half of testfsoids

In Python 2 str(SomeClass) returns "modulename.ClassName".

In Python 3 str(SomeClass) returns "<class 'modulename.ClassName'>".

We want the former.


  Commit: 9f93b7f508f3ab0006c7c0893cdd84731f30ba65
      https://github.com/zopefoundation/ZODB/commit/9f93b7f508f3ab0006c7c0893cdd84731f30ba65
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/persistentclass.py
    M src/ZODB/persistentclass.txt

  Log Message:
  -----------
  Typo fixes


  Commit: abad361f1c366349ad6acc1f9a634ab47f7e3640
      https://github.com/zopefoundation/ZODB/commit/abad361f1c366349ad6acc1f9a634ab47f7e3640
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-19 (Tue, 19 Feb 2013)

  Changed paths:
    M src/ZODB/persistentclass.py

  Log Message:
  -----------
  Try to push persistentclass along

Problem: in Python 2 object lives in sys.modules['__builtin__'].  In
Python 3 it lives in sys.modules['builtins'].  When we pickle object in
Python 2 and try to load it in Python 3, we end up getting a Broken
object placeholder because sys.modules['__builtin__'] is AWOL.

I'm not sure how persistentclass.txt manages to reproduce that purely in
Python 3, but that's what the new assertion failure I added reports.

Oh, I know: old pickle protocol!

    Python 3.3.0 (default, Sep 29 2012, 17:14:58)
    [GCC 4.7.2] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import pickle
    >>> pickle.dumps(object)
    b'\x80\x03cbuiltins\nobject\nq\x00.'
    >>> pickle.dumps(object, 1)
    b'c__builtin__\nobject\nq\x00.'
    >>> pickle.loads(_)
    <class 'object'>

We need to find the mapping layer that handles __builtin__ in Python
3.3's pickle and make sure our own ZODB.broken.find_global can do the
same.


  Commit: 433a00efabe7a7c1af835ee7e88f296b8de9b1f2
      https://github.com/zopefoundation/ZODB/commit/433a00efabe7a7c1af835ee7e88f296b8de9b1f2
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-20 (Wed, 20 Feb 2013)

  Changed paths:
    M src/ZODB/broken.py
    M src/ZODB/persistentclass.txt

  Log Message:
  -----------
  Fix find_globals to handle Python 2->3 module renamings

Stdlib's _compat_pickle is a big help here, but I've an uneasy feeling
it's not supposed to be a public API.


  Commit: 020c6c18c6443a19103e1710e91c318c773a4f63
      https://github.com/zopefoundation/ZODB/commit/020c6c18c6443a19103e1710e91c318c773a4f63
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-20 (Wed, 20 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testCache.py

  Log Message:
  -----------
  Fix test_basic_cache_size_estimation


  Commit: edcc4bcb9310d59e91c1ee6177454020a4c05b5f
      https://github.com/zopefoundation/ZODB/commit/edcc4bcb9310d59e91c1ee6177454020a4c05b5f
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-20 (Wed, 20 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testCache.py

  Log Message:
  -----------
  Explain the cache size numbers in greater detail


  Commit: d56bddececaeb33327e999b473444573803ff70c
      https://github.com/zopefoundation/ZODB/commit/d56bddececaeb33327e999b473444573803ff70c
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-20 (Wed, 20 Feb 2013)

  Changed paths:
    M buildout.cfg
    M setup.py

  Log Message:
  -----------
  Require transaction >= 1.4.1 on Python 3

Because our test suite triggers that 'RuntimeError: dictionary changed
size during iteration' error sporadically.


  Commit: 7c272467ad64430e622893b1bcbdcc428f986aa7
      https://github.com/zopefoundation/ZODB/commit/7c272467ad64430e622893b1bcbdcc428f986aa7
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-20 (Wed, 20 Feb 2013)

  Changed paths:
    M src/ZODB/Connection.py

  Log Message:
  -----------
  Commit savepoints in a well-defined order

This fixes nondeterministic failures in
doctest_lp485456_setattr_in_setstate_doesnt_cause_multiple_stores


  Commit: a097864854d3b9ec572e10694257b5942cc7c411
      https://github.com/zopefoundation/ZODB/commit/a097864854d3b9ec572e10694257b5942cc7c411
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-20 (Wed, 20 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testmvcc.py

  Log Message:
  -----------
  Fix nondeterministic testmvcc failures

This test wants to rely on OIDs that are assigned to various objects.
OIDs are assigned by Pickler.persistent_id(), which gets called during
graph traversal in a nonspecific order (courtesy randomized hashes in
Python 3), so if we want to be sure to have the right OIDs assigned to
the right objects, we need to call connection.add() manually or commit
after adding every object.


  Commit: 2f429e613d9f7535acfd95ed97ed203b99d4c2d5
      https://github.com/zopefoundation/ZODB/commit/2f429e613d9f7535acfd95ed97ed203b99d4c2d5
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-20 (Wed, 20 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/fstail.py
    M src/ZODB/scripts/tests/test_doc.py

  Log Message:
  -----------
  Normalize fstail output on Python 3

The only remaining test failures are due to changed pickle sizes.  I've
discovered two reasons for that so far:

  1) Python 3 pickles 'native strings' as BINUNICODE, Python 2 pickles
     'native strings' as SHORT_BINSTRING, which is 3 bytes shorter.

  2) Python 3 and also the 'pickle' module Python 2 pickles tuples like
     (UserDefinedClass, ) with an extra BINPUT opcode at the end,
     compared to 'cPickle' in Python 2 when given the same tuple:
   Python 2.7.3 (default, Sep 26 2012, 21:51:14)
  [GCC 4.7.2] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import pickle, cPickle
  >>> class MyClass(object): pass
  ...
  >>> len(pickle.dumps((MyClass, None), 1))
  26
  >>> len(cPickle.dumps((MyClass, None), 1))
  24

The plan is to switch to zodbpickle instead of the builtin Python 3
pickle, then use encoding=bytes from http://bugs.python.org/issue6784
and fix the class-in-tuple encoding to match Python 2's cPickle.


  Commit: 7f4c41b3461a299c9ce0f520d489f27c87fddcb4
      https://github.com/zopefoundation/ZODB/commit/7f4c41b3461a299c9ce0f520d489f27c87fddcb4
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-26 (Tue, 26 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/tests/test_repozo.py

  Log Message:
  -----------
  Suppress resource warnings under Py3k for 'test_repozo'.


  Commit: 4630d05fea89991253f6f608bf01232fff3e4f58
      https://github.com/zopefoundation/ZODB/commit/4630d05fea89991253f6f608bf01232fff3e4f58
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-27 (Wed, 27 Feb 2013)

  Changed paths:
    M src/ZODB/BaseStorage.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/DB.py
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/FileStorage.py
    A src/ZODB/_compat.py
    M src/ZODB/blob.py
    M src/ZODB/broken.py
    M src/ZODB/fsIndex.py
    M src/ZODB/fsrecover.py
    M src/ZODB/fstools.py
    M src/ZODB/scripts/analyze.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/PackableStorage.py
    M src/ZODB/tests/StorageTestBase.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testPersistentMapping.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/testUtils.py
    M src/ZODB/tests/testfsIndex.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  Extract most compat code into ZODB._compat


  Commit: 66cb84d3f55b53418e89a32053df30fb5eaacf1c
      https://github.com/zopefoundation/ZODB/commit/66cb84d3f55b53418e89a32053df30fb5eaacf1c
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-27 (Wed, 27 Feb 2013)

  Changed paths:
    M setup.py
    M src/ZODB/BaseStorage.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/DB.py
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/_compat.py
    M src/ZODB/blob.py
    M src/ZODB/broken.py
    M src/ZODB/fsIndex.py
    M src/ZODB/fsrecover.py
    M src/ZODB/fstools.py
    M src/ZODB/scripts/analyze.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/PackableStorage.py
    M src/ZODB/tests/StorageTestBase.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testPersistentMapping.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/testUtils.py
    M src/ZODB/tests/testfsIndex.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  Depend on zodbpickle on Python 3

Since now we need to pass an extra argument to loads() and Unpickler(),
but only on Python 3, the old way of ``from ZODB._compat import pickle``
no longer pays out, and I had to import the names directly.


  Commit: 4b0ea80d49702500cfb035b1aa9a53a5be0feace
      https://github.com/zopefoundation/ZODB/commit/4b0ea80d49702500cfb035b1aa9a53a5be0feace
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-27 (Wed, 27 Feb 2013)

  Changed paths:
    M src/ZODB/FileStorage/tests.py
    M src/ZODB/scripts/tests/test_doc.py
    M src/ZODB/tests/test_fsdump.py
    M src/ZODB/tests/testfsoids.py

  Log Message:
  -----------
  Bite the bullet and deal with Python 3 fat pickles


  Commit: c91593383d5f052880ac05b8b5937ed5a1198e97
      https://github.com/zopefoundation/ZODB/commit/c91593383d5f052880ac05b8b5937ed5a1198e97
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-27 (Wed, 27 Feb 2013)

  Changed paths:
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/fspack.py
    M src/ZODB/blob.py
    M src/ZODB/fsrecover.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testRecover.py
    M src/ZODB/tests/testfsIndex.py

  Log Message:
  -----------
  Fix many warnings on Python 3

Many more remain.


  Commit: 2daccd5cbc5dfdb53feefe554553cb327862e0fb
      https://github.com/zopefoundation/ZODB/commit/2daccd5cbc5dfdb53feefe554553cb327862e0fb
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-27 (Wed, 27 Feb 2013)

  Changed paths:
    M src/ZODB/blob.py

  Log Message:
  -----------
  Oops, Python 2.6


  Commit: 541da74e81396a38b400681a8d23bd8993c0562f
      https://github.com/zopefoundation/ZODB/commit/541da74e81396a38b400681a8d23bd8993c0562f
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M release.py
    M src/ZODB/DemoStorage.test
    M src/ZODB/FileStorage/tests.py
    M src/ZODB/blob.py
    M src/ZODB/scripts/zodbload.py
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/blob_basic.txt
    M src/ZODB/tests/blob_connection.txt
    M src/ZODB/tests/blob_consume.txt
    M src/ZODB/tests/blob_importexport.txt
    M src/ZODB/tests/blob_transaction.txt
    M src/ZODB/tests/speed.py
    M src/ZODB/tests/testDB.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testRecover.py
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Use with open(...) for peace of mind

Fixes some more of those ResourceWarnings


  Commit: 168e4a788acd098304e0f9c47b26d3447a8499fe
      https://github.com/zopefoundation/ZODB/commit/168e4a788acd098304e0f9c47b26d3447a8499fe
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/DB.py

  Log Message:
  -----------
  Avoid DeprecationWarning about logging.Logger.warn()


  Commit: 903b37624c41e8388019292f2e33ab92f0180f7a
      https://github.com/zopefoundation/ZODB/commit/903b37624c41e8388019292f2e33ab92f0180f7a
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  Brown paper bag fix: install_requires was empty on Python 2.x


  Commit: 08a93058636ed803749b5b7a029ea2d2a1725c67
      https://github.com/zopefoundation/ZODB/commit/08a93058636ed803749b5b7a029ea2d2a1725c67
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M buildout.cfg

  Log Message:
  -----------
  Pin newer ZConfig to fix some ResourceWarnings


  Commit: 5bc41c9bcb722f52408b2fb68d29a2bb75e9cbef
      https://github.com/zopefoundation/ZODB/commit/5bc41c9bcb722f52408b2fb68d29a2bb75e9cbef
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/fstest.py
    M src/ZODB/tests/blob_layout.txt

  Log Message:
  -----------
  Use with open() in more places


  Commit: 2d181876fc613d294d73c30c8e392541d4221bb8
      https://github.com/zopefoundation/ZODB/commit/2d181876fc613d294d73c30c8e392541d4221bb8
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/blob.py

  Log Message:
  -----------
  Avoid DeprecationWarning about base64.decodestring in Py3


  Commit: 5472857bca880f0626c1f78c0a5489a8465943d0
      https://github.com/zopefoundation/ZODB/commit/5472857bca880f0626c1f78c0a5489a8465943d0
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/scripts/fstail.py
    M src/ZODB/scripts/tests/fstail.txt

  Log Message:
  -----------
  Fix ResourceWarning in fstail.py


  Commit: 12f7995ac9c57d180871f13e6c58ba282e8341c8
      https://github.com/zopefoundation/ZODB/commit/12f7995ac9c57d180871f13e6c58ba282e8341c8
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/FileStorage/iterator.test

  Log Message:
  -----------
  Fix a bunch of ResourceWarnings in iterator.test


  Commit: 0c53f08ebd5e9069f021e21af4746d7553a30177
      https://github.com/zopefoundation/ZODB/commit/0c53f08ebd5e9069f021e21af4746d7553a30177
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Fix ResourceWarning in BlobCloneTests


  Commit: f7115e550ee9bae0b9ad3eac16a52d0366f0144b
      https://github.com/zopefoundation/ZODB/commit/f7115e550ee9bae0b9ad3eac16a52d0366f0144b
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/ExportImport.py

  Log Message:
  -----------
  Fix ResourceWarning in importFile()


  Commit: 290b0734ca7dc8806cfb3f3d22717b793bd1f9d4
      https://github.com/zopefoundation/ZODB/commit/290b0734ca7dc8806cfb3f3d22717b793bd1f9d4
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/tests/blob_importexport.txt

  Log Message:
  -----------
  Fix ResourceWarning in blob_importexport.txt


  Commit: bd50a59ff070515dbd38df63c4d4106595ef5715
      https://github.com/zopefoundation/ZODB/commit/bd50a59ff070515dbd38df63c4d4106595ef5715
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/tests/IExternalGC.test

  Log Message:
  -----------
  More ResourceWarnings fixes


  Commit: 79bcc422c7365485b0d01daa0f4a74b6d50e2f14
      https://github.com/zopefoundation/ZODB/commit/79bcc422c7365485b0d01daa0f4a74b6d50e2f14
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/Connection.py
    M src/ZODB/ExportImport.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  Add distinctive prefixes to tempfiles to aid finding resource leaks.


  Commit: 166c5b766609d24ed84ecc89f59d05b8892a76db
      https://github.com/zopefoundation/ZODB/commit/166c5b766609d24ed84ecc89f59d05b8892a76db
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testConfig.py

  Log Message:
  -----------
  Moar resource leak patchage.


  Commit: 10303c0763758bd8eba73a8667aefef27652ca19
      https://github.com/zopefoundation/ZODB/commit/10303c0763758bd8eba73a8667aefef27652ca19
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testZODB.py

  Log Message:
  -----------
  Moar resource leak patchage.


  Commit: 1ab797b57f4aae334c3f3b77395ed74646d162dc
      https://github.com/zopefoundation/ZODB/commit/1ab797b57f4aae334c3f3b77395ed74646d162dc
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-02-28 (Thu, 28 Feb 2013)

  Changed paths:
    M src/ZODB/blob.py

  Log Message:
  -----------
  Moar tempfile prefixes for resource leak detection.


  Commit: 8fccbeedfe75736e52632f48b4d6458c7772252f
      https://github.com/zopefoundation/ZODB/commit/8fccbeedfe75736e52632f48b4d6458c7772252f
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-03-01 (Fri, 01 Mar 2013)

  Changed paths:
    M src/ZODB/tests/blob_transaction.txt

  Log Message:
  -----------
  Fix two ResourceWarnings in blob_transaction.txt


  Commit: 4bdf05478fd061a2b76064d40539fdb43388c5ed
      https://github.com/zopefoundation/ZODB/commit/4bdf05478fd061a2b76064d40539fdb43388c5ed
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-03-01 (Fri, 01 Mar 2013)

  Changed paths:
    M src/ZODB/tests/IteratorStorage.py

  Log Message:
  -----------
  Fix ResourceWarnings in checkIterateRecordsRepeatedly


  Commit: b07519b5dd9cab4b6370be184cfa46f9d2f7de49
      https://github.com/zopefoundation/ZODB/commit/b07519b5dd9cab4b6370be184cfa46f9d2f7de49
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-03-01 (Fri, 01 Mar 2013)

  Changed paths:
    M src/ZODB/tests/hexstorage.py

  Log Message:
  -----------
  Fix ResourceWarnings caused by HexStorage.iterator()


  Commit: 033512a3cfe73c5c8f1ce35410c4eb74cae10738
      https://github.com/zopefoundation/ZODB/commit/033512a3cfe73c5c8f1ce35410c4eb74cae10738
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-03-01 (Fri, 01 Mar 2013)

  Changed paths:
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/fspack.py

  Log Message:
  -----------
  Fix ResourceWarnings in FileStorage.pack()


  Commit: 68d8bca1862f3f1a2fa01e8471a15286df16c169
      https://github.com/zopefoundation/ZODB/commit/68d8bca1862f3f1a2fa01e8471a15286df16c169
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-03-01 (Fri, 01 Mar 2013)

  Changed paths:
    M src/ZODB/FileStorage/FileStorage.py

  Log Message:
  -----------
  Use with open(): ... for peace of mind


  Commit: 122861a328f805c7cbddc84262e24d904490f377
      https://github.com/zopefoundation/ZODB/commit/122861a328f805c7cbddc84262e24d904490f377
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-03-02 (Sat, 02 Mar 2013)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Quit mangling non-ASCII characters in changelog to work around Sphinx bug.

Instead, just remove the non-ASCII characters, regaining Python 3.2 compat.


  Commit: fd0d2b043990947a7c34679cc86e8381872d81f3
      https://github.com/zopefoundation/ZODB/commit/fd0d2b043990947a7c34679cc86e8381872d81f3
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-03-02 (Sat, 02 Mar 2013)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Note support for Py3k.


  Commit: 257fed3f7bb77373af11f857bf0b7996a2d1f801
      https://github.com/zopefoundation/ZODB/commit/257fed3f7bb77373af11f857bf0b7996a2d1f801
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-03-02 (Sat, 02 Mar 2013)

  Changed paths:
    M src/ZODB/blob.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  Py3.2:  don't rely on binascii.unhexlify to convert under covers.


  Commit: 78619a38b332fda2cafcf52e6892a7fadbc15367
      https://github.com/zopefoundation/ZODB/commit/78619a38b332fda2cafcf52e6892a7fadbc15367
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-03-02 (Sat, 02 Mar 2013)

  Changed paths:
    M src/ZODB/_compat.py
    M src/ZODB/blob.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  Whack dem moles.


  Commit: dc3ba2525d71cb329a26acce6714b8f44539b083
      https://github.com/zopefoundation/ZODB/commit/dc3ba2525d71cb329a26acce6714b8f44539b083
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-03-02 (Sat, 02 Mar 2013)

  Changed paths:
    M tox.ini

  Log Message:
  -----------
  Restore py32 to tox.ini (lost in merge?).


  Commit: a00d35fe1873357bc621fc29013b6e2ca1bd0b0f
      https://github.com/zopefoundation/ZODB/commit/a00d35fe1873357bc621fc29013b6e2ca1bd0b0f
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2013-03-05 (Tue, 05 Mar 2013)

  Changed paths:
    M setup.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/tests.py
    M src/ZODB/_compat.py
    M src/ZODB/fsIndex.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/PackableStorage.py
    M src/ZODB/tests/test_fsdump.py
    M src/ZODB/tests/testblob.py
    M src/ZODB/tests/testfsoids.py

  Log Message:
  -----------
  Python 3: pickle bytestrings using SHORT_BINSTRING

This uses bytes_as_strings=True option introduced in zodbpickle 0.2 for
this purpose.

This way pickles produced on Python 3 are nearly the same as on Python 2.
There are some slight differences (Python 3 seems to perform more
memoizations which grows the size of some pickles by a couple of bytes),
but they're immaterial.

Now we can use zodbpickle's noload() on Python 3 to scan pickles for
persistent references.  We couldn't do that before, because Python 3
normally pickles byte strings as calls to codecs.encode(u'latin1-data',
'latin-1'), and noload() doesn't interpret the REDUCE opcode involved in
that representation.

Note that when you're pickling byte strings using bytes_as_strings=True,
you have to load them using encoding='bytes' (which breaks instances, so
cannot be used) or using errors='bytes' (which mean some bytestrings may
get unpickled as unicode instead).  I've tried hard to discover every
place that unpickles OIDs and added conversion to bytes in those places.

Applications dealing with binary data be prepared to handle bytestrings
that unexpectedly become unicode on unpickling.  That's the price of
Python 2 compatibility.


  Commit: ec74fe2371a43b62e3baee36f824520cc1a01c1b
      https://github.com/zopefoundation/ZODB/commit/ec74fe2371a43b62e3baee36f824520cc1a01c1b
  Author: Albertas Agejevas <alga at pov.lt>
  Date:   2013-03-08 (Fri, 08 Mar 2013)

  Changed paths:
    M src/ZODB/Connection.py

  Log Message:
  -----------
  None is not comparable to bytes in Py3.


  Commit: 79d2cc9c05e5654aafe19d444a9eae3bfb92f6ee
      https://github.com/zopefoundation/ZODB/commit/79d2cc9c05e5654aafe19d444a9eae3bfb92f6ee
  Author: Albertas Agejevas <alga at pov.lt>
  Date:   2013-03-08 (Fri, 08 Mar 2013)

  Changed paths:
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/hexstorage.py

  Log Message:
  -----------
  Hedge when using the transaction iterator's close method.

The close() method is not in the interface and is not provided
by ZEO's implementation.


  Commit: 8329d37a7e1dab2c0143645e6a26c8945b496bd3
      https://github.com/zopefoundation/ZODB/commit/8329d37a7e1dab2c0143645e6a26c8945b496bd3
  Author: Albertas Agejevas <alga at pov.lt>
  Date:   2013-03-13 (Wed, 13 Mar 2013)

  Changed paths:
    M src/ZODB/FileStorage/fspack.py

  Log Message:
  -----------
  A buglet discovered by ZEO tests.


  Commit: a5bf8b9b9b74416e918b65f83b56a11dbd12a762
      https://github.com/zopefoundation/ZODB/commit/a5bf8b9b9b74416e918b65f83b56a11dbd12a762
  Author: Michael Mulich <michael.mulich at gmail.com>
  Date:   2013-03-17 (Sun, 17 Mar 2013)

  Changed paths:
    M buildout.cfg

  Log Message:
  -----------
  Bump the version of ZConfig which has python3 compatibility fixes.


  Commit: 6f9bc95d8f690cdaf7d9245abd05a75c98532870
      https://github.com/zopefoundation/ZODB/commit/6f9bc95d8f690cdaf7d9245abd05a75c98532870
  Author: Michael Mulich <michael.mulich at gmail.com>
  Date:   2013-03-17 (Sun, 17 Mar 2013)

  Changed paths:
    M buildout.cfg

  Log Message:
  -----------
  Pull in the development version of zodbpickle which has recent changes which allow tests to pass at this time.


  Commit: c2ce3c76f4bec4b464a3a4349de4970e6222295c
      https://github.com/zopefoundation/ZODB/commit/c2ce3c76f4bec4b464a3a4349de4970e6222295c
  Author: Jim Fulton <jim at zope.com>
  Date:   2013-03-18 (Mon, 18 Mar 2013)

  Changed paths:
    M buildout.cfg

  Log Message:
  -----------
  Merge pull request #6 from pumazi/py3

PyCon 2013 sprint - buildout changes


  Commit: 89ee3c819283cd07363ed4f4e608e993c2c5ed2b
      https://github.com/zopefoundation/ZODB/commit/89ee3c819283cd07363ed4f4e608e993c2c5ed2b
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-04-04 (Thu, 04 Apr 2013)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  Force 'persistent' before 'BTrees'.

Try to work around zc.buildout's ignorance of setup_requires.


  Commit: cf253dd12a33e7916066301dc195d10e6cb944dd
      https://github.com/zopefoundation/ZODB/commit/cf253dd12a33e7916066301dc195d10e6cb944dd
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-07 (Tue, 07 May 2013)

  Changed paths:
    M src/ZODB/FileStorage/FileStorage.py

  Log Message:
  -----------
  Defaults for user_name / descripion read from storage must be ytes.


  Commit: 1d7f6839fdae6ac1821913757c203ed22ed1ea77
      https://github.com/zopefoundation/ZODB/commit/1d7f6839fdae6ac1821913757c203ed22ed1ea77
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M CHANGES.rst
    M doc/zodb-guide.txt
    M src/ZODB/blob.py
    M src/ZODB/tests/blob_transaction.txt
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Merge master.


  Commit: e90a3ceb98cd5426dd3a3acb7be25d1731de9ed7
      https://github.com/zopefoundation/ZODB/commit/e90a3ceb98cd5426dd3a3acb7be25d1731de9ed7
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  Note next version


  Commit: f2ba643da924fe04df95903e89e33092c52a19bb
      https://github.com/zopefoundation/ZODB/commit/f2ba643da924fe04df95903e89e33092c52a19bb
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Skip non-unit tests in 'setup.py test'.

Use the buildout to run these tests.


  Commit: f37f1c707cb5b75348c2e099a91bdef4da628321
      https://github.com/zopefoundation/ZODB/commit/f37f1c707cb5b75348c2e099a91bdef4da628321
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Add explicit warnings about Python2-Py3k data incompatibility.

Re-order changelog entries for 4.0.0b1.


  Commit: da0f3308d733801142ef5d374b421f93ec0b2470
      https://github.com/zopefoundation/ZODB/commit/da0f3308d733801142ef5d374b421f93ec0b2470
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M src/ZODB/fsIndex.py
    M src/ZODB/tests/testCache.py

  Log Message:
  -----------
  Avoid direct imports from C extensions.

A step toward PyPy support.


  Commit: fac0f84e1fe7f72447de40be6794265c28059516
      https://github.com/zopefoundation/ZODB/commit/fac0f84e1fe7f72447de40be6794265c28059516
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M src/ZODB/_compat.py
    M src/ZODB/fsIndex.py

  Log Message:
  -----------
  Allow for unpickler returning 'long' from load in Python2.

Another step toward PyPy support.


  Commit: 3f4d5f103fe35892ed936937afcedf338dc7c115
      https://github.com/zopefoundation/ZODB/commit/3f4d5f103fe35892ed936937afcedf338dc7c115
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Normalize away some more doctest noise.


  Commit: 3539498f148b2bcbe5b85a76108e3a9cab7241fb
      https://github.com/zopefoundation/ZODB/commit/3539498f148b2bcbe5b85a76108e3a9cab7241fb
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  No PyPy support yet. :(


  Commit: 84b3cab20ee9ed5fb4f2c58e3e1c0d7b4640a955
      https://github.com/zopefoundation/ZODB/commit/84b3cab20ee9ed5fb4f2c58e3e1c0d7b4640a955
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Moar Py3k doctest normalization.


  Commit: 6446d328fdc555c5e87ba6e71f6bc7452e766e4d
      https://github.com/zopefoundation/ZODB/commit/6446d328fdc555c5e87ba6e71f6bc7452e766e4d
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Re-word / clarify data warning.


  Commit: 160593679bd21f22eb33fb51e182f1cc70f36476
      https://github.com/zopefoundation/ZODB/commit/160593679bd21f22eb33fb51e182f1cc70f36476
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2013-05-10 (Fri, 10 May 2013)

  Changed paths:
    M CHANGES.rst
    A doc/HISTORY.rst

  Log Message:
  -----------
  Move 3.x history to 'doc/HISTORY.rst'.


Compare: https://github.com/zopefoundation/ZODB/compare/cfe957046b5a...160593679bd2


More information about the checkins mailing list