[Zope-dev] Re: [Zope] using CVS for Zope object stores?

Guido A.J. Stevens gyst@nfg.nl
14 Dec 1999 13:53:27 +0100


"Stuart 'Zen' Bishop" <zen@cs.rmit.edu.au> writes:

> > In short, we crave for a way to use cvs on Zope object stores. 
> 
> I've thought of two ways of doing this 'seemlessly', both involving
> writing a new Storage module for Zope.
> 
>     FSStorage -
> 	Store each non folderish object in an individual file in ascii
> 	pickle format

That's the direction I was thinking in, indeed. You can then edit,
cvs, rsync, whatever, unleashing the full power of other
(command-line) tools on the object store.

[...]

>     CVSStorage - 
> 	As FSStorage, but store objects directly in a CVS repositary.

This has several drawbacks when compared to FSStorage:

- you lose access to the object store for tools other than
cvs. FSStorage will give more bang for the buck.

- this supposedly commits each and every little change I make? I don't 
want that -- I want to make lots of changes trial-and-error, and only
when I'm satisfied I want to commit my work to be shared by others.

- you'll need real-time (and high-bandwidth, reliable) access to a CVS
repository for each running zope server instance. If I may take our
own setup as an example, that would mean setting up multiple cvs
repositaries locally, instead of the single central repositary we use
now. Which only shifts the problem from syncing concurrent modules (no
problem at all, actually, in the FSStorage approach - "cvs update -d")
to syncing concurrent repositories. Not good.

> It might be worth using some variant of pickle that is more CVS
> friendly (ie. more linefeeds).

Another point of attention might be the way in which pickle generates
id's for xml exports. As it stands now, these id's are not stable
which makes it impossible to use xml exports as a starting point for
some cvs experimenting. But that's just a side note.

Thank y'all for taking up my questions.

:*CU#
-- 
***    Guido A.J. Stevens      ***    mailto:gyst@nfg.nl    ***
***    Net Facilities Group    ***    tel:+31.43.3618933    ***
***    http://www.nfg.nl       ***    fax:+31.43.3560502    ***

ECHELON is a staggeringly comprehensive and highly secret global
spying system, over which the smaller allies have virtually no control
but to which they contribute fully.  [ISBN 0-908802-35-8, p.56]