[ZODB-Dev] Historical revisions in ZODB

Tino Wildenhain tino@wildenhain.de
Mon, 31 Mar 2003 12:03:54 +0200


hazmat wrote:
> how would this differ from the application level zope version control
> http://cvs.zope.org/Products/ZopeVersionControl
> ?
> 
> -haz
> 
> Chris Withers wrote:
> 
>> Dieter Maurer wrote:
>>
>>> I will implement "edition"s for HCFileStorage.
>>>
>>>   The base concept it an object "HistoryReference" that
>>>   references an object (identified by an "oid") at a given
>>>   time (identified by "serial"). Packing will not release
>>>   records when they are directly or indirectly referenced
>>>   by a "HistoryReference".
>>>   This will make packing more expensive. I expect a 50 % increase
>>>   in time and memory.
>>>
>>>   An edition is a collection of "HistoryReferences", effectively
>>>   freezing the state of objects referenced from the edition
>>>   at a given time. The "HistoryReference" mechanism protects
>>>   this state against packing.
>>
>>
>>
>> It would be very cool to see this in the default FileStorage 
>> implementation...

Cool. I recently patched all objects on which the [History] tab
was missing, a promient example is ZSQL Methods, but also
ObjectManager to present such a tab and have a compare-method too.

I also have a patch line which adds a "comment-line" to all
management screens to be able to comment to the current transaction.

These comments are appended to the getTransaction().note()

Combined with the HistoryReference above, which will solve
kind of tagging (like CVS) if I read it correctly, we would
have a nice versioning sytem with less effort.

Have to clean the patches to be able to apply them to actual
versions and then accepting comments.

Regards
Tino