I have used <a href="http://www.capify.org/">capistrano</a> to deploy both php and rails applications, it works with merb, and probably camping and rack.
You need it check into some sort of SCM, then setup some ssh keys and put in your server settings. Then you can deploy it out.
It does take a little getting use to, but it helps greatly once you set it up correctly. It's a build and push to server sort of setup. It's great.
On the python front, i wouldn't know, but the newer capistrano seems more open to different types of code-bases.
If capistrano doesn't suit you, you can always build up some nice rake tasks that automate it for you.
PHP has Phing, which is based off of Ant (from the Java world).
For Ruby, there's Rakefiles and Capistrano for web app projects. There's also Vlad the Deployer which is more lightweight. For Rails, there's a continuous integration plugin which you could use to monitor your unit tests.
If it's not a large project, you might consider just writing your own tasks to automate the process (ssh'in and svn up or hg pull/up). But if you need the ability to rollback or to make sure all your unit tests pass first, go for Capistrano or Vlad.
People have used Capistrano for Python web apps too.