Deploying RoR apps from different branches

I have a multi-environment configuration (local, staging, development) in which I can deploy the same branch (ie...trunk) to with ease using Vlad the Deployer. I'm struggling to figure out how to deploy a new branch to my staging environment, without having to check out the entire repository (subversion) onto the staging server.

Has anyone run into this problem and solved it?

Am I complicating things for myself? If so, what is a better way to manage branches and deployments to various environments?

Thanks! Ron

PS...I'm open to switching to a new deployment tool.

The 26/07/11, BirdieTracker wrote:

I have a multi-environment configuration (local, staging, development) in which I can deploy the same branch (ie...trunk) to with ease using Vlad the Deployer. I'm struggling to figure out how to deploy a new branch to my staging environment, without having to check out the entire repository (subversion) onto the staging server.

Has anyone run into this problem and solved it?

Am I complicating things for myself? If so, what is a better way to manage branches and deployments to various environments?

Thanks! Ron

PS...I'm open to switching to a new deployment tool.

I would try any DVCS.

I’ve not used SVN for some years now nor Vlad the Deployer ever, but I’m using Capistrano / GitHub, and it is possible there using the Capistrano multistage extension. You simply define common parts of the configuration in a common file and any varying configuration parts (including SCM branch, in your case) in the environment-specific config file, and you’re off and running.

See: https://github.com/capistrano/capistrano/wiki/2.x-Multistage-Extension

I use capistrano and I don't have to worry about any of that. Sure it copies the branch to a "cached" area on the web server as well as to the live area. Setup is very simple. Have you tried it?

HTH, D

I'm stuck with SVN (enterprise requirement) but not stuck with Vlad. I'll check out Cap and see if that makes my like easier.

Thanks for the feedback everyone.