Long ago I tried to sort out my system between local, web server and subversion. I got some good explanation on this question.
Unfortunately I hit a road block on the whole pushing from SVN to a web server part and never revisited. All of my projects are solo, so I'm the only one developing them and often I'm the only user. So I've been able to get away with writing directly to the live server most of the time.
For 2009 I want to break that bad habit and actually do things the right way. I have SSH access to my web server (I can login and browse the files) but don't really know what to do in order to get the newest files out of SVN, into the server.
I've googled my fingers to the bone but everything I find requires some set of knowledge that I don't yet have.
I'd really, really appreciate step by step directions of how to automatically push the newest version of my code from an SVN repo to a live web server. FYI I'm currently using Beanstalk for Subversion hosting, but am totally willing to change that if someone has a better suggestion.
Thanks
You say 'automatically push'. This can be accomplished with a post-commit hook. I've been a one-man dev crew and use a set up like so for PHP dev:
VPS LAMP stack with Apache's mod_dav_svn handling SVN duties hosting a 'staging' version of the site. The 'staging' version of the site was actually a working copy, just checked out locally, to a directory that Apache could serve from
local VMware machine running NetBeans and LAMP stack, with xdebug installed for debugging PHP
My workflow went like this:
Check out a working copy from my VPS to my VMware virtual machine Get a database dump via PhpMyAdmin from VPS and import into MySQL on virtual machine dev my ass off, all locally at the end or day, export my database and upload it to MySQL on the VPS commit my changes to the VPS
The crux was the post commit hook - all it is, is a text file in SVN that is parsed after every commit event. You have it call a shell script, and that shell script does a 'svn update' to update the working copy that is your staging site that Apache is serving.
I suppose you could as easily have the shell script do an SVN export to your staging directory, but that might take awhile to run, whereas an update to a working copy just puts changes.
These notes are pretty jacked up, but they're my personal cheat sheet I use when setting something like this up:
http://random.siliconrockstar.com/dev_ShellScriptingAndNixAdmin/SVN.txt
If you want, I also have a copy of the VM with NetBeans all configured that I use for development, I used to hand them out to junior devs. If you want a copy just PM me.