Я делаю svn update, чтобы обновить код своего php-сайта, но он оставляет .svn/
папки повсюду.
Я думаю, что оставлять эти файлы общедоступными для чтения опасно, но обновить систему очень легко.
Есть ли способ использовать svn update
для обновления системы, но не для экспорта .svn/
папки?
Если вы используете apache:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
Это заблокирует доступ людей к .svn
каталоги удаленно (с помощью браузера), но вы можете сохранить их (и возможности svn) в проекте.
Кстати, вы можете заменить \.svn
для \.git
или \.cvs
если вы используете что-то отличное от Subversion.
вам следует изменить конфигурацию apache так, чтобы он запрещал доступ к папке .svn. в этой ветке есть дополнительная информация https://stackoverflow.com/questions/398008/deny-access-to-svn-folders-on-apache
Вы хотите экспортировать свой код из SVN на действующий сайт ...
Не использовать svn update
для этого. update предназначен для использования с обновлением рабочих копий, а не с экспортом кода. Использовать svn export
вместо этого, поскольку он экспортирует чистое дерево каталогов из указанного репозитория.
В --force
Флаг позволит экспорту перезаписать существующие файлы.
Я не использую их на рабочих / производственных сайтах. Потому что я не хочу, чтобы я и / или другие разработчики забывали, насколько плохая идея - редактировать живой код. Мой сценарий установки отфильтровывает мои файлы .svn.
Вам следует изучить правильную систему развертывания, например Capistrano. Это означает, что ваши производственные серверы не нуждаются в подрывной деятельности, и вы можете развертывать их на нескольких серверах и добавлять в развертывания собственную логику. Это также позволяет относительно легко откатить развертывание.