Re: cl-cookbook/clos-tutorial - Imported sources

Edi Weitz <[email protected]> 22 Oct 2003 13:00:01 +0200
Newsgroups gmane.lisp.cookbook
Message-ID <[email protected]>
Hi Nick!

On Wed, 22 Oct 2003 11:20:19 +0100 (BST), Nick Levine <[email protected]> wrote:

> Perhaps you could tell me where I went wrong. 

I'm not a CVS expert either, so read this with a grain of salt.

> I first tried:
> 
>   /user/ndl/lisp/cookbook $ cvs -z3 -d:ext:[email protected]:/cvsroot/cl-cookbook add cl-cookbook/clos-tutorial/*.* cl-cookbook/clos-tutorial/images/*
> 
> but that didn't work at all. So I read TFM and it suggested "cvs import", so I went:
> 
>   /user/ndl/lisp/cookbook $ cvs -z3 -d:ext:[email protected]:/cvsroot/cl-cookbook import cl-cookbook/clos-tutorial foo clos-tutorial
> 
> but that duplicated the whole system, creating cl-cookbook/cl-cookbook

You should have (from within a checked-out version of the cookbook)
added your new subdirectory and then just

   cvs add clos-tutorial
   cd clos-tutorial
   cvs add *.*
   cvs add images
   cd images
   cvs add *.*
   cvs commit

(There's no need to provide the -z3 -d options with each command once
you're in the correct directory.)

> (which I notice is still partially there - see
> http://cvs.sourceforge.net/viewcvs.py/cl-cookbook/cl-cookbook/clos-tutorial/cl-cookbook/clos-tutorial/). 

Yes, that's one of the many shortcomings of CVS - you can remove
files, but you can't remove directories. See

  <http://groups.google.com/groups?selm=fa.ku4je3v.1ai6a0a%40ifi.uio.no>

I think Kaz Kylheku's "Meta-CVS" (written in Common Lisp) can do that
- I've never tried it, though.

> b) how did you undo the mess I created?

I checked out the whole thing, moved the files were they belong, did
the stuff described above, then removed the files that didn't belong
there and finally

   cvs delete cl-cookbook

from within the 'clos-tutorial' subfolder.

> c) how can you see what you've got without waiting for 24 hours (ie
> how do you _test_ what's about to go live on the public website)?

I don't test... :)

A cron job on one of my servers runs the following Expect script every
24 hours. If I want to see a change immediately I start it
manually. Everyone with developer access should be able to do the same
thing, I guess (replacing "nhabedi" with your SF account, of course).

------------------------------- snip ---------------------------------

#!/usr/bin/expect

set prompt "(%|>|:|\#|\\$) $"

spawn bash
send "export PS1='\\u@\\h:\\w > '\r"
expect -re $prompt
send "cd /home/edi/cl-cookbook/\r"
expect -re $prompt
send "cvs update\r"
expect -re $prompt
set timeout 30
send "scp /home/edi/cl-cookbook/* [email protected]:/home/groups/c/cl/cl-cookbook/htdocs/\r"
expect -re $prompt
send "scp /home/edi/cl-cookbook/clos-tutorial/*.* [email protected]:/home/groups/c/cl/cl-cookbook/htdocs/clos-tutorial/\r"
expect -re $prompt
send "scp /home/edi/cl-cookbook/clos-tutorial/images/*.* [email protected]:/home/groups/c/cl/cl-cookbook/htdocs/clos-tutorial/images/\r"
expect -re $prompt
send "scp /home/edi/cl-cookbook/.emacs [email protected]:/home/groups/c/cl/cl-cookbook/htdocs/\r"
expect -re $prompt
send "exit\r"

------------------------------- snip ---------------------------------

This is an ugly hack. I have to update the script if someone adds a
new directory. But luckily this only happens once per year... :)

> d) I have an overnight cron which goes "cvs update cl-cookbook" - do
> I have to modify that now to make sure my local copy of the clos
> tutorial is kept up-to-date? The file cl-cookbook/CVS/entries
> doesn't appear to know about the tutorial so I guess the answer is
> "yes". But how?

That's a mystery to me, too. If I 'cvs update' in my old checked-out
version I don't get your new 'clos-tutorial' folder. I have to check
out the whole stuff anew. Maybe someone who knows more about CVS wants
to explain this?

> Sorry to be so ignorant. 

No problem. I'm as ignorant as you... :)

Cheers,
Edi.


-------------------------------------------------------
This SF.net email is sponsored by OSDN developer relations
Here's your chance to show off your extensive product knowledge
We want to know what you know. Tell us and you have a chance to win $100
http://www.zoomerang.com/survey.zgi?HRPT1X3RYQNC5V4MLNSV3E54