[Zope-dev] Zope components and revision control with cvs

Romain Slootmaekers romain@zzict.com
Fri, 02 Aug 2002 01:57:33 +0200


Gary Poster wrote:
> On Thu, 2002-08-01 at 15:04, Shane Hathaway wrote:
> 
> 
>>There are a few products on zope.org for integrating with CVS.  Look 
>>through the downloadable products.  I think there are CVSFolder and 
>>ZCVSFile (or something like that), maybe more.
>>
>>However, most version control tools are difficult to integrate into 
>>applications in a platform-neutral way.  To integrate with CVS, for 
>>example, Zope spawns a CVS client, but the CVS client runs with the 
>>privileges of the Zope process rather than the user's privileges.  It 
>>works but it's not very clean.
>>
>>Subversion, however, gives us a new opportunity.  The first alpha has 
>>been released.  Communicating with a Subversion repository involves 
>>HTTP, WebDAV, and DeltaV--all documented, open standards.  So Zope could 
>>talk to a Subversion repository in a very transparent, well-integrated 
>>way.  Anyone out there looking to write a nice, useful product for Zope? 
>>  A Zope->Subversion adapter would be a great choice. :-)
>>
>>http://subversion.tigris.org
>>
>>Shane
> 
> 
> Hi Shane.  I've been thinking about Zope versioning, and I also did a
> bit of list searches for past discussions on this general topic.  One
> problem that seems pertinent to really any external-to-zope versioning
> system, including Subversion, is dealing with non-folder object
> managers.  If you want to manage the contents of these special object
> managers individually in your versioning system, you're running into
> some trouble, some parts of which seem insurmountable to me at the
> moment (from my admittedly limited knowledge ;-).
> 

This is true. the problem is that simple versioning tools don't know the 
meta type of a file that's on the file system.
For example: you have a file MyFile.dtml on the file system.
is the meta-type DTMLMethod or DTMLDocument ? Not even talking about the 
more complex container types here (

The same goes with the FTP access to zope objects. uploading new objects
is a problem... appearantly, you first have to create an empty object of 
the correct type in zope and after that you can upload the content of 
that object.


We at ZZICT too suffer severly from the restriction that versioning
a product that consists of code ass well as ZODB objects is a real
pain, yet from an architetural point of view splitting the product into 
core stuff (functionality) that resides in a filesystem based product 
and presentation layer stuff that resides in the ZODB is a natural way 
to go about.

If you take a poll, I bet this problem bothers a lot of us.

Maybe, you could do it the other way around: add CVS like (hopefully 
better or at least less sucky) functionality to zope.

Sloot.