[ZODB-Dev] Mounting Non-Versioned Storage

Jim Fulton jim@zope.com
Thu, 25 Apr 2002 18:40:25 -0400


Christian Reis wrote:
> 
> On Thu, Apr 25, 2002 at 08:34:42AM -0400, Jim Fulton wrote:
> >
> > For a while, I was foolishly wanting to leverage ZODB database revisions for
> > version-control-like functionality. When I was thinking that way, I was
> > talking about having fine-grained packing policies. I now think that
> > using database revisions for application-level version control is
> > a bad idea.
> 
> Can you elaborate on your deduction here, since it impacts directly on
> how my application is coded to handle multiple databases communicating
> and swapping objects?

I have no idea how this relates to your app, but generally, when people
do version control, they expect (as in CVS):

- To control when versions are created and to store meta-data with these
  versions.
  
  ZODB creates revisions on every change.  It does allow storage of meta
  data with revisions, and you could say that the revisions that have
  interesting meta-data are "versions", but this is rather clumsy.

- To access multiple versions simultaneously. ZODB allows this, but
  only barely and non-current revisions are not cached.

- To have have people working in different branches simultaneously.

  ZODB doesn't support this at all.

I finally realized that version control, as most people understand it,
is an application that should be written at a much higher level than ZODB.

The similarity between ZODB revisions and versions and version control 
is illusionary.

Jim

--
Jim Fulton           mailto:jim@zope.com       Python Powered!        
CTO                  (888) 344-4332            http://www.python.org  
Zope Corporation     http://www.zope.com       http://www.zope.org