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. :-)
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.