For this little discussion i assume the standard layout as described here
Development phase
During the development you want to see your changes live instantly. That is pretty easily solvable with a hook script as described in this FAQ
A little sidenote to the FAQ. if your system ships with sudo, you can use that instead of the custom C binary above.
So far every thing was pretty simple.
Releasing
I personally prefer release branches. every time a new milestone goes live. I branch trunk to branches/release-1.2.x and keep that around for bugfixing. Trunk will be used for the ongoing development.
My production site always runs from a tag. That makes it easy to step backwards in the releases. Just a simple “svn switch url/tags/sometag”.
Conclusion
As you see versioning website is not that much different from “normal code”.
Would it be possible for you to provide sample code for using sudo instead of the custom C binary… I’m having a difficult time hacking that C binary to do what I need and a bash script won’t do the trick because of .svn/ directory permissions.
Thanks!