[Zope-Coders] Zope CVS
Matthew T. Kromer
matt@zope.com
Tue, 30 Oct 2001 11:58:02 -0500
Tom Deprez wrote:
>>Hi,
>>
>>Is there a way to download some sources from the cvs from somewhere behind
>>
>a
>
>>firewall?
>>
>>I want to check out the CMFCollector, but for this I need to install:
>>
>> - The CMF
>>
>> http://cmf.zope.org - recent (as of 10/10/2001) CVS HEAD
>> checkout, or 1.2 or better (not yet released as of Oct 15, 2001).
>>
>> - CMF/CMFDecor provisions for ZPT, including use of the ZPT skin as the
>> default skin (settable from the portal_skins 'Properties' tab).
>>
>> - CMF/DCWorkflow
>>
>> Proper operation depends on a patch to DCWorkflow as of Oct 15,
>> 2001. The patch is in the CVS version (it's DCWorkflow.py, rev
>> 1.8), and will be in CMF 1.2.
>>
>>I assume that when I download the latest CMF sources, that I will be able
>>
>to
>
>>test the CMFWorkflow.
>>Unfortunately, I don't see a way to download the whole CMF branch. Is
>>
>there
>
>>a way?
>>
Hmm... let me pose a possible solution and get feedback.
Nightly, we are already doing a checkout of the Zope trunk and/or a few
branches and running the testrunner script against this.
It occurs to me, that a modification of this to create a tarball of the
checked out code before the testrunner runs could easily be used to
create a 'snapshot' file/directory. It may then be possible to save the
snapshot back into CVS as a large binary file...
This is somewhat cheezy, since CVS isnt a great place to store binary
files (particularly not huge tarballs), yet since http://cvs.zope.org/
is available already, it makes the download of a particular
tarball/snapshot fairly easy. I see the biggest shortcoming is
reclaiming space in the repository from stale versions. However, maybe
there is a good way to rotate snapshots or something (or periodically
delete subtrees from the repository) so that there isn't suddenly a
massive accumulation of tarballs.
The alternative would be to ftp tarballs up to zope.org, but I like CVS
better for this; it seems to me that it would be slightly better to use
CVS than the ZODB for storing tarballs which get generated automatically
and frequently.
So, conjecture a repostory directory /snapshots, which contains
subdirectories made by date, e.g /snapshots/20011030 which then
contains various tarballs like Zope-trunk.tar.gz,
Zope-2_4-branch.tar.gz, CMF.tar.gz, CMFDECOR.tar.gz, etc... A cron job
on the repository can periodically nuke the old directories right out of
the repository, without having to have CVS go through the gymnastics of
trying to track versions of binary files.
A refinement of this might be to also save the testrunner output with
the tarball, e.g. Zope-trunk.testrunner.OK for testruns that fail, or
Zope-trunk.testrunner.FAIL3 (for three failure cases).