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

Перенос папки svn в новый репозиторий svn server

Здесь в нашей компании собираются два больших отдела. У обоих есть свои собственные svn-серверы со структурой папок Subversion, которые были созданы с помощью приложения.

Сейчас они придумывают одну структуру. Теперь, однажды после создания новых репозиториев SVN с новым идентификатором проекта, им нужны старые данные репо во вновь созданном репозитории в качестве каталога.

Оба (новый и старый) сервера работают под управлением Visual SVN Server со стандартной версией.

Новая структура создается с помощью самого приложения; Позже мы должны добавить эти старые папки данных в репозиторий.

Могу ли я узнать, как перенести старую структурированную папку репо в новый репозиторий svn.

Я знаю, что это немного сбивает с толку, как я выражаюсь; но, пожалуйста, попытайтесь понять и помогите мне перейти.

Насколько я понял ваше требование, вы должны переместить все репозитории в один экземпляр VisualSVN Server. Вы также упомянули, что "они хотят, чтобы старые данные репо во вновь созданном репозитории в виде каталога" но я думаю, что эта часть возникла из-за какого-то недоразумения.

Имейте в виду, что Сервер Subversion ≠ Репозиторий Subversion! Вы можете просто переместить все репозитории на один сервер.


Предположим, есть отдел A и отдел B, и они объединяются в отдел C. DeptA и DeptB имеют свои собственные серверы Subversion и несколько репозиториев на каждом сервере. Таким образом, вы можете установить VisualSVN Server для DeptC и переместить все репозитории на этот новый сервер.

Следуй этим шагам:

  1. Убедитесь, что серверы DeptA и DeptB VisualSVN имеют одну и ту же основную версию. Т.е. оба они должны быть на уровне 2,5, 2,7, 3,0. Если один из них имеет более низкую основную версию, чем другой, вам следует обновить его до более высокой версии.

  2. Убедитесь, что серверы DeptA и DeptB используют один и тот же тип аутентификации. Т.е. оба они должны использовать либо Subversion auth, либо Windows auth.

  3. Удостоверься что %VISUALSVN_SERVER%conf\httpd-custom.conf файл пуст на серверах DeptA и DeptB.

  4. Убедитесь, что на серверах DeptA и DeptB нет репозиториев с одинаковыми именами.

  5. На сервере DeptC установите тот же самый Версия VisualSVN Server, как у DeptA и DeptB (при желании вы можете обновить ее позже). Вы можете загрузить старую версию VisualSVN Server на странице истории версий: http://www.visualsvn.com/server/changes/.

  6. Переместите все репозитории в DeptC (или в общий сетевой ресурс, используемый в качестве хранилища для них) после остановки службы VisualSVN Server на DeptA и DeptB. Самый простой способ перенести ваши версионные данные на новый сервер - просто скопировать ваши репозитории как есть в файловую систему DeptC. Например, если репозитории хранятся в C: \ Repositories на существующем компьютере, вы можете перенести каталог C: \ Repositories как-как на новый компьютер. Инструкция доступна в статье базы знаний Как я могу импортировать существующий репозиторий на недавно установленный сервер VisualSVN?.

  7. Проверьте правила доступа, настроенные для репозиториев. Видеть Общие сведения об авторизации сервера VisualSVN.

  8. Бегать svnadmin verify команду для всех ваших исходных репозиториев, чтобы проверить их на наличие повреждений До и после перевод.

  9. Убедитесь, что все сценарии ловушек, настроенные в ваших репозиториях, работают после перемещения репозиториев.