I have been tentatively playing with Capistrano, but I like to develop on a laptop on the move, then I have a test site on the live machine which I use for pre-testing to ensure that the environment is all ok with the new changes and then finally I deploy to the final production site (actually I have three similar sites which use the same code base so I want to choose which of them to deploy to)