Можно ли переместить репозиторий Subversion, но его зеркало останется прежним?

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

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


person Chris Wallis    schedule 18.11.2010    source источник


Ответы (2)


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

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

См. поле под названием «Бухгалтерия svnsync» в раздел Repository Repository книги SVN.

person user9876    schedule 19.11.2010

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

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

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

person elprup    schedule 19.11.2010
comment
Вы никогда не должны редактировать файлы revprop напрямую. Вместо этого используйте для этого команду SVN. - person user9876; 19.11.2010