Перемещение хранилища Subversion на другой сервер

У меня есть сервер, на котором размещена моя база кода Subversion. Этот сервер в настоящее время является Windows Server 2003 , и мой ИТ-администратор хочет обновить его до Windows Server 2008 .

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

Кажется, что при поиске в Интернете рекомендуется использовать:

svnadmin dump /path/to/repository > repository-name.dmp

А затем используйте:

svnadmin create repository-name
svnadmin load repository-name< repository-name.dmp

Импортировать репозиторий.

Вышеуказанный метод кажется лучшим подходом?

11.12.2008 20:23:41
Вот как я это делаю. , ,
cciotti 11.12.2008 20:43:29
это «рекомендуемый путь», так почему вы сомневаетесь, что это хороший подход? что значит "лучший"?
user3850 12.12.2008 13:13:43
Вы ищете более короткую версию?
orezvani 16.04.2014 12:53:46
6 ОТВЕТОВ
РЕШЕНИЕ

Да, выгрузка и загрузка хранилища - это путь. Непосредственное копирование папки репозитория является жизнеспособным вариантом, если и только если вы уверены, что никто не будет обращаться к репозиторию во время процесса копирования (или вы можете сделать «горячую копию» репозитория, которая может справиться с этими случаями). безопасным образом).

Вам также нужно будет повторно оформить все ваши рабочие копии или использовать команду svn switch , которая просто переписывает URL-адреса. Более удобным способом является использование команды TortoiseSVN Relocate , которая снижает риск допустить ошибку во время процесса перемещения.

59
18.12.2016 20:57:44
Спасибо. На самом деле, все должно быть хорошо с перемещением, потому что сервер, на который он перемещается, будет иметь тот же IP-адрес сервера, на котором он сейчас находится.
Ryan Smith 11.12.2008 20:57:17
Спасибо, я немного боролся с прямым копированием, потому что у меня не был правильно установлен мой корень SVNServe, но как только я сделал это, кажется, что прямое копирование работало отлично. Спасибо.
Ryan Smith 5.01.2009 18:39:15

Если вы используете репозиторий типов файловой системы, вы можете буквально взять папку, содержащую ваш репозиторий, и переместить ее. Если вы меняете серверы, то, скорее всего, вам потребуется изменить местоположение, в котором ваш локальный рабочий каталог ищет хранилище, с помощью команды «Переместить».

4
11.12.2008 20:37:47

Мои сценарии восстановления выглядят так:

svnadmin create repository-name --fs-type fsfs
svnadmin load   repository-name --force-uuid < repository-name.dmp

Первая строка гарантирует, что репозиторий использует FSFSбэкэнд (что рекомендуется многими источниками, включая этот: как лучше FSFS , и AFAIK более новые версии Subversion используют его по умолчанию). FSFS - это имя реализации файловой системы Subversion.

Во второй строке хранится UUID хранилища для более простого перехода (без --force-uuidпереключения перемещение рабочей копии завершится неудачно).

Некоторые ссылки:

27
18.12.2016 21:08:00

Вы также можете использовать svnsync для перемещения хранилища; Таким образом, вы можете перенести все данные без необходимости удалять «старый» репозиторий. Это также единственный известный мне способ получения ваших данных из размещенных сред, где у вас нет доступа к оболочке или доступа к дампу хранилища.

9
12.12.2008 12:31:11

Другая альтернатива:

используйте svnrdump. http://www.crowbarsolutions.com/backing-up-restoring-a-remote-svn-repository/

«Вам понадобится инструмент под названием svnrdump. Как описано в Apache,« svnrdump копирует функциональность svnadmin dump и svnadmin load, но работает на удаленных репозиториях вместо того, чтобы нуждаться в доступе администратора (локальной файловой системы) к исходному или целевому репозиторию ». «.

5
27.10.2013 07:48:19

Самый простой способ - использовать:

svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory
1
16.04.2014 06:35:39