Синхронизируйте репозиторий SVN и затем сделайте его независимым (скопируйте репозиторий)
я синхронизирую репозиторий SVN между двумя системами С помощью svnsync, и я не уверен на 100%, можно ли сделать его независимым для моих "новых пользователей" после завершения синхронизации.
Что мне нужно сделать, чтобы сделать его полностью независимым лицом? Достаточно ли просто изменить файл passwd?
2 ответов
что мне нужно сделать, чтобы сделать его полностью независимым лицом?
единственной связью между новым репозиторием и оригиналом является ряд свойств ревизии, которые используются svnsync synchronize
. Вы можете безопасно удалить такие:
svn propdel --revprop -r 0 svn:sync-from-uuid http://svn.example.com
svn propdel --revprop -r 0 svn:sync-last-merged-rev http://svn.example.com
svn propdel --revprop -r 0 svn:sync-from-url http://svn.example.com
это не делает много, кроме того, чтобы убедиться, что svnsync synchronize
больше нельзя запускать.
редактировать: просто думал о чем-то другом. Вы могли бы использовать svn:externals
свойства проекты для указания на другой репозиторий или другое местоположение в том же репозитории.
один должны использовать относительный синтаксис URL для ссылок в одном репозитории, в этом случае проблем нет. Но если для этого использовался абсолютный URL, то такие ссылки будут продолжать указывать на исходный репозиторий после svnsync
. Вы можете проверить все svn:externals
свойства, как это (может занять некоторое время, рекурсивно сканирует все папки):
svn propget -R svn:externals http://svn.example.com/
В основном, вам нужна конфигурация apache для:
- ссылка на это новое РЕПО с другим URL-адресом и другим
AuthName
- объявите нового пользователя в
conf/authz
файл указанного нового РЕПО. - объявление пароля (если вы используете: q!
AuthType Basic
режим проверки подлинности)
наличие другого пароля не является обязательным: как только два репозитория управляются с двумя разными адресами (под одним и тем же apache или двумя разными "Апачи"), они будут независимы друг от друга.