[Zope] Using CVS with Zope (basic)
Antonio Carrasco
antoniojezu@hotmail.com
Sun, 16 Sep 2001 01:56:41 +0200
Thanks a lot, Jean!. We decided not to do it under Zope. But now, I´m going
to study this way to do it.
Thanks again.
Antonio Carrasco
www.udiberica.com
acarrasco@udiberica.com
"If you look heedfully Reality, You may see pixels"
----- Original Message -----
From: "Jean Jordaan" <jean@upfrontsystems.co.za>
To: <zope@zope.org>
Sent: Saturday, September 15, 2001 12:21 AM
Subject: [Zope] Using CVS with Zope (basic)
> Hi all
>
> In the hope that it might be useful to someone else, here is how we use
> CVS and 'sitecopy' together with Zope.
>
> First, some background: our first need is simply to get all the relevant
> textual content in Zope onto the filesystem, so that multiple developers
> can work on it there using their text-processing tools of choice. Then
> of course we need to get the text back in.
>
> To do this, you need a good tool to automate the process. The best way
> I've found is Joe Orton's "sitecopy":http://www.lyra.org/sitecopy/
>
> 1. Configure 'sitecopy' to:
>
> - exclude all the Zope objects that don't have a filesystem
> representation (such as SQL methods, SkinScript, external methods,
> MailHosts, Catalogs and so on). *Note*: while it is logical that
> some of these (such as external methods) don't have filesystem
> representation, others (such as SQL methods) simply lack PUT
> factories.
>
> - use the WebDAV source port (FTP access is a bit fragile).
>
> Because a 'sitecopy' site definition is single-rooted (you can't get
> files from different trees in Zope at once) you should define your
> 'sitecopy' sites for accessing your "App" directory (from the Zope
> root) and your ZClasses (in 'Control_Panel/Products/SomeName')
> seperately.
>
> 2. Use 'sitecopy' to pull down the site::
>
> sitecopy --fetch app app_zclasses
> sitecopy --sync app app_zclasses
>
> To prevent 'sitecopy' from uploading *everything* next time you
> update, tell it that the local site is up to date::
>
> sitecopy --catchup app app_zclasses
>
> 3. Import the site into CVS::
>
> export CVSROOT=/path/to/your/repository
> cd ~/WORKINGDIR/app
> cvs import -m "Importing app" zope/app app start
> cd ~/WORKINGDIR/app_zclasses
> cvs import -m "Importing app_zclasses" zope/app_zclasses app_zclasses
> start
>
> Remove your working directory and check it out from CVS::
>
> cd ~
> rm -r WORKINGDIR
> cvs checkout zope/app
> cvs checkout zope/app_zclasses
>
> 4. Edit away::
>
> cd ~/zope/app
> gvim (edit away ..)
>
> Whenever you want to make your edits active in Zope, do::
>
> sitecopy --update app
>
> Once you are satisfied that something is working, check it into CVS.
>
> 5. Adding Zope objects.
>
> Since Zope creates DTML Documents for all textfiles uploaded, unless
> the file is uploaded to an existing object, adding needs to be done
> thru the ZMI. When you have created your object, fetch it via FTP and
> add it to CVS::
>
> ftp zopehost
> > cd dir
> > lcd dir
> > get newMethod
> > bye
> cvs add dir/newMethod
>
> (It would be really great if there were some way, for example via a
> header block such as the '##data' section at the start of a Python
> script, to describe new objects on the filesystem so that the right
> object is automatically created when they're uploaded.)
>
> 6. Don't make any important changes using the ZMI. From now on, the
> authoritative source is the copy on the filesystem. Any TTW changes
> will be overwritten (if it was checked out) or forgotten (if it
> wasn't checked out and added to CVS control). Use the ZMI for
> quick experimentation, as far as code changes are concerned.
>
> Note: this method works fine on Linux, and on Windows if you use the
> "Cygwin tools":http://www.cygwin.com . 'sitecopy' is easy to compile
> under Cygwin.
>
> I hope this helps someone!
>
> Regards,
> Jean
>
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://lists.zope.org/mailman/listinfo/zope-announce
> http://lists.zope.org/mailman/listinfo/zope-dev )
>