Re: [cl-cookbook-contrib] cl-cookbook/clos-tutorial - Imported sources
Brought to you by:
jthing
From: Edi W. <ed...@ag...> - 2003-10-22 11:38:41
|
Hi Nick! On Wed, 22 Oct 2003 11:20:19 +0100 (BST), Nick Levine <nd...@ra...> 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:nic...@cv...:/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:nic...@cv...:/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/* nh...@cl...:/home/groups/c/cl/cl-cookbook/htdocs/\r" expect -re $prompt send "scp /home/edi/cl-cookbook/clos-tutorial/*.* nh...@cl...:/home/groups/c/cl/cl-cookbook/htdocs/clos-tutorial/\r" expect -re $prompt send "scp /home/edi/cl-cookbook/clos-tutorial/images/*.* nh...@cl...:/home/groups/c/cl/cl-cookbook/htdocs/clos-tutorial/images/\r" expect -re $prompt send "scp /home/edi/cl-cookbook/.emacs nh...@cl...:/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. |