Подтвердить что ты не робот

Перемещение репозитория 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

Чтобы импортировать репозиторий.

Отличается ли метод выше, чем лучший подход?

4b9b3361

Ответ 1

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

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

Ответ 2

Мои сценарии восстановления выглядят следующим образом:

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

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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

svnadmin hotcopy path/to/your_current_directory /path/to/your_destination_directory