Синхронизируйте репозиторий SVN, а затем сделайте его независимым (скопируйте репозиторий) - PullRequest
7 голосов
/ 20 января 2011

Я синхронизирую репозиторий SVN между двумя системами, используя svnsync, и я не уверен на 100%, возможно ли сделать его независимым для моих "новых пользователей" после завершения синхронизации.

Что мне нужно сделать, чтобы сделать его полностью независимой сущностью? Достаточно ли просто изменить файл passwd?

Ответы [ 2 ]

10 голосов
/ 20 января 2011

Что мне нужно сделать, чтобы сделать его полностью независимой сущностью?

Единственная связь между новым репозиторием и оригиналом - это несколько свойств ревизии, которые используются 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 больше нельзя запустить.

edit : Просто подумал о чем-то другом. Возможно, вы использовали svn:externals свойства в своих проектах для указания на другое хранилище или другое местоположение в том же хранилище.

Один должен использовать относительный синтаксис URL для ссылок в одном и том же хранилище, и в этом случае проблем не возникает. Но если для этого был использован абсолютный URL, то такие ссылки будут продолжать указывать на исходный репозиторий после svnsync. Вы можете проверить все свойства svn:externals, как это (может потребоваться некоторое время, рекурсивно сканировать все папки):

svn propget -R svn:externals http://svn.example.com/
0 голосов
/ 20 января 2011

В основном вам нужна конфигурация apache для:

  • ссылки на то, что новое репо с другим URL и другим AuthName
  • объявит вашего нового пользователя в conf/authzфайл указанного нового репо.
  • с объявлением их пароля (если вы используете: q! AuthType Basic режим аутентификации)

Наличие другого пароля не обязательно: один раз два хранилищауправляются с двух разных адресов (под одним и тем же apache или двумя разными apache), они будут независимы один от другого.

...