Not sure if this will help you, but take a look at madeleine:
http://www.rubygarden.org/ruby?Madeleine

···

-----Original Message-----
From: rohitlodha@hotwireindia.com [mailto:rohitlodha@hotwireindia.com]
Sent: Wednesday, 12 May 2004 1:23 AM
To: ruby-talk ML
Subject:

Hi

I am looking at versioning of objects. Objects comprise of valuetype
attributes, references to other objects and few set/unset methods.
Objects’s attributes can change in value. Once their value is changed,
this is a new version. I should be able to go back to last version (i.e.
restore the previous attribute value.) In case the attributes refers to
some other versioned object( and like that for n depth) I should be able
to restore.

set/unset are specifics, where restore means calling unset method.

What can be good strategies for implementing this.

regards,

rolo