Chris Withers wrote at 2005-1-31 10:22 +0000:
... Yes, but remember what LocalFS is doing is trying to spoof Zope into believing objects come from within the ZODB, while actually storing them on the file system.
I do not think that "LocalFS" is in any way interested to simulate objects in the ZODB. Instead, it emulates a hierarchy apparently rooted in a ZODB based object. But this is purely an acquisition concept and completely independent from the ZODB.
I have a hunch that it probably mixes OFS.Image.File into its "File" objects, and OFS.Image.File is doing something naughty (it usually does, it's got some VERY esoteric code in it ;-) which results in data being comitted to the ZODB.
Indeed, it contains a subtransaction commit. However, this should only lead to true ZODB writes when the object either already was persistent or is new and part of a modified persistent object.
...
Debugging in an interactive Python session?
Okay, but what am I looking for?
In the current transaction (obtained via "get_transaction()" for "_objects". You are interested in the code that adds objects to "_objects". The first object added to "_objects" is the persistent object that should not have become modified. -- Dieter