Назад | Перейти на главную страницу

Как перенести репозиторий Subversion

У меня есть 2 установки подрывной версии Debian на разных серверах, и было принято решение отключить один из серверов. Но прежде чем я это сделаю, я хочу переместить все репозитории с одного сервера на другой (включая все исторические изменения и т. д.).

Как это сделать?

Могу я просто скопировать содержимое / var / lib / svn /репо-имя в / var / lib / svn /репо на другом сервере? Или это еще не все?

также мне нужно что-то делать с разрешениями / владением?

Вы должны копировать файлы только в том случае, если среда SVN идентична, если нет:

  1. Используйте svnadmin на машине, с которой вы мигрируете, чтобы создать файл дампа:
    svnadmin dump myrepos > dumpfile
    
  2. Создайте новые репозитории на оставшемся сервере
  3. Загрузите файлы дампа в:
    svnadmin load newrepos < dumpfile
  4. Скопируйте любой настройки и / или скрипты перехвата напротив старого сервера.
  5. Если URL-адрес изменился в переключателе, переключатель любые рабочие копии с:
    svn switch --relocate http: //new-server.lan/repos/repo .

Это все из SVN Книга.

Лучше всего сделать дамп из старого репозитория и загрузить в новый. Это самый чистый и наиболее «поддерживаемый» способ переноса одного репозитория в другой. Вы можете попробовать скопировать файлы, но если вы не переходите на ту же версию Subversion на той же архитектуре процессора (да - если вы используете BerkeleyDB, вы можете столкнуться с проблемами порядка байтов ... видел это на Один раз миграция с альфы на Intel SVN) могут возникнуть проблемы.

Посмотри на http://svnbook.red-bean.com/en/1.1/ch05s03.htmlв разделе «Перенос репозитория».

(Мой друг однажды сделал это через netcat между двумя коробками, когда у нас не было достаточно временного пространства для хранения копии файла дампа! Это тоже сработало ...)

Есть несколько способов сделать это:

  1. Остановите сервер svn, чем просто скопируйте содержимое каталогов.
  2. svnadmin дамп PATH_TO_REPOS, а затем на целевом сервере #svnadmin загрузить PATH_TO_MIRROR

    Обратите внимание, что svnadmin dump не сбрасывает файлы конфигурации вашего репозитория и сценарии перехвата.