
I've been using darcs to "push" the new files to the server. Then I ssh to the server and make a new core image, with a script like this (sbcl): (asdf:oos 'asdf:load-op 'swank) (asdf:oos 'asdf:load-op :pettomato) (defun my-toplevel() ;; start swank (setf swank:*use-dedicated-output-stream* nil) (setf swank:*communication-style* :fd-handler) (swank:create-server :dont-close t) ;; start hunchentoot (pettomato:start) ;; start a repl (sb-impl::toplevel-repl nil)) (sb-ext:save-lisp-and-die "pettomato.core" :toplevel #'my-toplevel) "pettomato" is the name of my website package. Then I kill the previously running image, and start a new one running in a screen session with this script: #!/bin/sh screen -dmS pettomato-site sbcl --core /home/astro/bin/pettomato.core --noinform The main reason that I do it this way is because I have init scripts that launch the above script at boot time. This way it will be up-to-date and load quickly if the server reboots. I don't update the production server very often, so this works well for me. If anyone sees any flaws with this logic, please let me know. -austin -- Austin Haas Pet Tomato, Inc. http://pettomato.com On Tue May 08 21:52 , Mac Chan wrote:
I'm used to working in the LAMP environment where it's just copying the needed files
You can still copy the files over. However, I prefer to use source control to sync up the files instead of using scp/ftp, etc.
and I've been doing the same thing in the same fashion - except instead of files it's functions being transfered via swank...
Assuming that you are using asdf for your project, you can just type ,load-system in slime REPL to reload your modified files.
I usually have gnu screen running and dedicate one terminal for my lisp's REPL (not slime).
When I need slime (for debugging), I just type (swank:CREATE-SERVER) and then I can connect from emacs.
HTH, -- Mac _______________________________________________ tbnl-devel site list tbnl-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/tbnl-devel