If you’re using Subversion’s update command, then .svn meta folders are available on your live site unless you’re using a mod_rewrite rule or something of the like to block access to them. If not, there’s nothing particularly wrong with your approach, but there are ways to create automated rollbacks and deployment. Capistrano is written in Ruby with Rails apps in mind, but you can deploy any kind of web app with it. Where I work I custom wrote a Ruby script to checkout the latest development version from the repository, put it in a timestamp’d directory, and then symlink it to “current” on the web the staging environment, etc. There are a number of deployment systems. In the Rails world there is Capistrano for automation and Passenger/mod_rails for packaging. Many projects use Ant for building and deploying the project. There are numerous tools you can find on the web for deploying your web apps.