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

SVN Switch Relocate - не является корнем репозитория

Я пытаюсь переместить рабочую копию из старого svn-сервера на новый svn-сервер, где он содержится в подпапке. Используя следующую команду переместить:

svn switch --relocate https://oldserver/svn/repos https://newserver/some/directory 

Я получаю:

svn: 'https://newserver/some/directory ' is not the root of the repository

Какая правильная..... но, err, как я могу перемещать местоположение независимо?

4b9b3361

Ответ 1

Насколько я понимаю, вы не можете использовать svn switch (с или без --relocate) для перехода в новый репозиторий. Подумайте об этом так: ваша новая ревизия HEAD-репозитория x, ваша старая репозитория - y, поэтому что SVN должно делать с версией рабочей копии?

svn help switch говорит, что --relocate используется для:

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

Так как это не так, я боюсь, вам придется выполнить новую проверку.

Ответ 2

Я пробовал ту же операцию, в этом случае у меня была копия с использованием svnsync в файле: url и перенесена с помощью mv/home/me/sync/therepo/home/me/sync/repos/therepo.

Причина: у меня есть несколько скриптов справки в каталоге синхронизации, которые испортили представление репозиториев.

svn switch --relocate работал по большей части, кроме внешних, которые продолжают жаловаться.

Решение было жестоким: я удалил (rm -rf) каталоги с повреждающими файлами в них и снова перезапустил обновление svn, чтобы восстановить внешние.

По крайней мере, таким образом мне не пришлось делать большую проверку снова.

Кроме того, теперь я могу написать инструкции для своих коллег, когда позже мы переместим сервер svn на новую машину.

Ответ 3

Ну, предположим, что вы уже фактически перенесли репозиторий через svnadmin dump/svnadmin load, чтобы в этом случае вы могли попробовать: svn switch --relocate https://newserver/some/directory Если вы получите ту же ошибку, вам действительно просто нужно сделать новый svn co. Я не помню, чтобы когда-либо сталкивалась с этой ошибкой, но тогда все мои репозитории используют вложенную структуру, такую ​​как та, которую вы переходите, чтобы ее возможная ива никогда не приходила в голову: -)

Ответ 4

То, что может случиться, также заключается в том, что вы выполняете перемещение на дочернем элементе корня.

Попробуйте выполнить перемещение в корневую папку. Все папки с детьми также будут автоматически перемещены.