2012-03-20 4 views
4

Я планировал перенос репозитория Subversion с сервера Linux на сервер Windows. Я обрисовал в общих чертах шаги к миграции как таковой:Перемещенный репозиторий. Я использую SVN-переключатель, перемещение SVN или что-то еще вместе

  1. Создать дамп хранилища
  2. передачи файла дампа на конечный сервер для Windows
  3. Загрузить репозиторий в новом сервере подрывной
  4. Измените все ссылки на старый репозиторий на новый репозиторий

После некоторого разочарования я, наконец, достиг 4-го шага, но пришел к дилемме ... Я не уверен, как изменить все ссылки. Я видел, что этот перенос можно использовать, но я также слышал, что этот переключатель следует использовать, если структура изменяется ... это проект для работы, поэтому мне НЕОБХОДИМО убедиться, что на последнем этапе используется правильная команда, чтобы избежать выпадения ,

Текущая структура файла выглядит так:

SVN: // СВН @ имя_сервера/Source/Название программы/bin/Release

Новая структура файла продиктован VisualSVN Server, и выглядит так:

https://ServerName.domain.local/svn/RepositoryName/Source/Program Имя/бен/Release

переедет работу для этого или я иду в неправильном направлении?

ответ

1

Да, svn switch --relocate команда должна работать. Но учтите, что вам нужно переместить корень из вашей рабочей копии.

+0

Что вы имеете в виду, переместив корень рабочей копии? – Cipher

-2

Использование svn switch --relocate Я только что сделал это на репо, и он работает, любит магию. Если вы используете TortoiseSVN, используйте команду «Переместить», а не команду «Переключить».

+0

У меня TortoiseSVN, но я должен использовать эти команды в пакетном файле, чтобы я мог масштабировать его по всей сети. – Cipher

4

Предыдущие не отвечающие прочитать документы

>svn help switch 

    2. The '--relocate' option is deprecated. This syntax is equivalent to 
    'svn relocate FROM-PREFIX TO-PREFIX [PATH]'. 

Вы должны

  • использовать svn relocate (потому что вы переписать более приставки)
  • Используйте вторую форму RELOCATE синтаксиса relocate TO-URL [PATH], см. также пример в svn help relocate
2. TO-URL is the (complete) new repository URL to use for PATH. 

Examples: 

    ... 

    svn relocate http://www.example.com/repo/project \ 

       svn://svn.example.com/repo/project 

в примерах старых ссылок svn://svn.example.com/repo/project заменяются http://www.example.com/repo/project

+1

ПРИМЕЧАНИЕ. Параметр '-relocate' устарел с версии Subversion 1.7. В Subversion 1.6 вы должны использовать 'svn switch -relocate https://oldserver.com/reponame https: // newserver.com/reponame'. В [1.6 docs] (http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.switch.html) говорится: «Параметр -relocate приводит к тому, что svn-переключатель выполняет что-то другое: обновляет рабочую копию, указывая на один и тот же каталог репозитория, только с другим URL (как правило, потому, что администратор переместил репозиторий на другой сервер или на другой URL-адрес на том же сервере) ». – eyecatchUp

0

Самый упрощенный ответ таков:

используется передислоцировать, когда вы переместили каталог те же данные новый сервер (новый базовый URI).

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

В обоих случаях репозиторий UUID остается неизменным.

Если вы сбрасываете полный репозиторий и восстанавливаете его в новый каталог данных, вы по существу используете один и тот же каталог данных, UUID репозитория остается неизменным. Вы можете использовать переезд.

Если вы изменили UUID или восстановили его в существующий репозиторий, ваш единственный выбор - проверить рабочую копию заново.