I'm setting up capistrano with an existing project that has folders under /public, where files uploaded from users are stored (ie, /public/ photos) that is not under version control. It's not part of the code and it's continually being updated, so I don't want it in my git repo (it's marked with git ignore so it isn't included).
The way capistrano seems to work is by checking out a new copy of the git repo every time deploy:update is run. So even if I copy the user data into the folder structure created by capistrano the first time I deploy, the next time I update, a new version will be checked out of the repo and that user data won't be there. What's the preferred way to handle this? I could think of a couple of options: 1. Store the files (ie, photos) in a folder outside of my app structure, and symlink it to public/photos. That symlink would be in my git repo so every fresh checkout would still point to the same user file folder. 2. Maybe after my initial deploy, I shouldn't be using deploy:update more, but my own recipe that just performs git pull and restarts passenger. After all, I don't really want capistrano to perform a whole new checkout every time I update the code (that's time consuming). I just want it to update it with git pull. (Capistrano has nice rollback features, but I can roll back with git if I need to.) Perhaps there are other or better ways to handle this. Thanks for the help! PS. Capistrano 2.3 has a scm: none option, but that seems to be for when the whole app is not under version control; not in the case of subfolders as mentioned above. --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
