Синхронизируйте репозиторий 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 или двумя разными "Апачи"), они будут независимы друг от друга.