У меня есть сайт, на который я регулярно обновляю код. Я держу это в контроле версий. Когда я хочу развернуть новую версию сайта, я делаю экспорт и затем ставлю символическую ссылку на имя обслуживаемого каталога в каталог развертывания.
Есть место, где пользователи могут загружать файлы, и я однажды заметил, что после того, как я развернул новую версию, пользовательские файлы исчезли! Конечно, я не добавил их в репозиторий, и поскольку обслуживаемый сайт был из экспорта, они все равно не были загружены в каталог с управлением версиями.
PHP пока не имеет встроенной функциональности svn, поэтому я не мог сделать много программно для загруженных пользователем файлов. Мое решение состояло в том, чтобы создать дополнительный веб-сайт files.website.com, который расположен в параллельном каталоге для обслуживаемого веб-сайта и обслуживается из каталога, который находится под контролем версий. Таким образом, они не стираются, когда я обновляю сайт. Время от времени я вручную добавляю загруженные файлы в проект svn, удаляю удаленные пользователем и фиксирую новую версию. Я работаю над сценарием оболочки для запуска из cron, чтобы сделать это, но это не моя сильная сторона, поэтому он стоит на заднем плане, так как это не является насущной необходимостью.
Есть ли лучший способ сделать это?