Назад | Перейти на главную страницу

Безопасно иметь папки /.svn/ на живом сайте? (Как удалить их, но сохранить возможность обновления svn?)

Я делаю 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 Экспорт ручной ввод

Я не использую их на рабочих / производственных сайтах. Потому что я не хочу, чтобы я и / или другие разработчики забывали, насколько плохая идея - редактировать живой код. Мой сценарий установки отфильтровывает мои файлы .svn.

Вам следует изучить правильную систему развертывания, например Capistrano. Это означает, что ваши производственные серверы не нуждаются в подрывной деятельности, и вы можете развертывать их на нескольких серверах и добавлять в развертывания собственную логику. Это также позволяет относительно легко откатить развертывание.