[ZODB-Dev] ZODB3 and ZOBD4 packages synchronized

Jeremy Hylton jeremy@zope.com
Fri, 6 Dec 2002 15:56:18 -0500


A special request for Zope committers who work in the ZODB trees:

Over the last couple of weeks, I have been synchronizing ZODB3 and
ZODB4.  I've reviewed each module and made sure that bug fixes in one
version exist in the other version, where it makes sense.  There are
many necessary differences between the two versions, but there is also
a lot of shared code.

In some cases, the code is almost identical.  I haven't been very
thorough about copying cosmetic changes; it was just too much work to
get every added whitespace character and preserve necessary changes.

What's the upshot of all this?  If you fix a bug in one version of
ZODB, please check whether it's relevant for the other version.  It's
a bit tedious to make changes to two different trees for the same bug,
but it's essential for maintaining the code.  It's not that much
different than checking in bug fixes to a maintenance branch, except
that you need to do it more often.

We should be copying all significant changes, not just bug fixes,
except when we shouldn't.  I'm not sure if I know exactly what rule of
thumb to apply here.  Radical new features like changes to support
MVCC should be done only in ZODB4.  But chances are you know if you're
working on a radical new feature.  All the other changes should happen
in both places.

Jeremy

PS If you notice a difference that doesn't make sense to you, please
let me know.  The only difference I'm aware of is in error handling
for custom _p_deactivate() methods; I plan to fix that soon.