Можно ли переместить хранилище Subversion, но его зеркало остается прежним? - PullRequest
3 голосов
/ 18 ноября 2010

Я пытаюсь переместить хранилище Subversion на новый сервер, но оставлю его зеркало там, где оно есть. Я сделал следующее:

  1. Дамп старого репо
  2. Загрузить дамп в новый репо
  3. Установить хук пост-фиксации нового репозитория для svnsync с существующим зеркалом

Крючок:

#!/bin/sh

svnsync --non-interactive sync https://mirror.example.com:443/svn/iaw \
--sync-username svnsyncuser --sync-password svnsyncpass \
--source-username svnsyncuser --source-password svnsyncpass &

exit 0

Как и ожидалось, когда я пытаюсь запустить этот хук из нового репо, я получаю следующее:

svnsync: ОПЦИИ 'http://oldrepo.url/svn/iaw': Не удалось разрешить имя хоста `oldrepo.url': Хост не найден (http://oldrepo.url)

Проблема в том, что зеркало было инициализировано с URL старого репо. Кто-нибудь знает, можно ли это изменить, или мне нужно начинать заново с нуля с новым зеркалом?

Большое спасибо

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

Вы можете использовать Subversion для редактирования свойств ревизии в рев. 0 зеркального репозитория. I.e.:

svn propset --revprop -r0 svn:sync-from-url http://newrepo.url/svn/iaw \
    https://mirror.example.com:443/svn/iaw

См. Вставку под названием «Учетная запись svnsync» в разделе «Репликация репозитория» книги SVN .

0 голосов
/ 19 ноября 2010

Вся ваша информация о синхронизации зеркала SVN хранится в каталоге / repo / db / revprops. В каталоге вы можете увидеть файлы вроде: 0, 1, 2,

grep -R "http://oldrepo.url" / repo / db / revprops

и после того, как вы найдете его, измените его на новый адрес репо, и теперь он может работать.

...