Прежде всего, используете ли вы http://
или svn://
в URL-адресах оформления заказа?
Если вы используете svn://
, вы можете настроить файл svnserve.conf
в своем хранилище для удаления авторизованного доступа, просто имея пустой переданный файл. По умолчанию анонимный доступ доступен только для чтения, поэтому, если вы не изменили этот параметр в файле svnserve.conf
, все будет в порядке. Или вы можете отключить анонимный доступ и изменить авторизованный доступ на read-only
.
Однако, если вы используете http://
, вам нужно настроить конфигурацию Apache httpd на вашем сервере Subversion, чтобы не разрешать доступ для записи.
Это становится сложнее, поскольку существует несколько способов настройки аутентификации Apache httpd, и в зависимости от системы httpd Apache может храниться в нескольких местах.
Другая возможность заключается в использовании ловушки для предварительной фиксации , чтобы отключить все права на чтение и запись в хранилище.
Кстати, старая команда svnsync использовала не только svn для чтения и записи для фиксации изменений, которые она синхронизировала, но и должна была установить хук pre-revprop-change, поэтому команда svnsync также может изменить Свойства svn:log
, svn:date
и svn:author
в соответствии с исходным хранилищем. Это означает, что если вам удастся сделать ваш репозиторий только для чтения , вы можете сломать svnsync
. Вам нужно прочитать о том, как работает svnsync
и по-прежнему ли это так. Мой хук pre-commit тоже может решить эту проблему.