Jamis and everyone, Like several other Capistrano users, I've had a need to deploy applications located in subdirectories of git repositories. I've tried several approaches, and none have been completely satisfactory.
The best solution I've come up with so far is to add an :app_root variable to my recipe and set it to the subdirectory in my git repository that I want to actually deploy. I set :app_root like this set :app_root, "my_app" To make this work, I also modified Capistrano's git module so that it executes the following command after cloning the repository: git filter-branch --subdirectory-filter my_app I'm pretty new to git, so I don't know if this is the best solution. I think running git filter-branch on a large repository is probably a pretty expensive operation, but this approach seems to work OK for smaller repositories. [Note to other git newbies: If you want to try this command, only run it on a clone of your repository. You'll be very unhappy with me (and yourself) if you run it on your actual working repository.] I just pushed these changes to a fork of Capistrano on github: http://github.com/davidbody/capistrano/tree/master I'd appreciate feedback from anyone, especially from git experts. --David W. Body / Big Creek Software, LLC --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
