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, как я могу перемещать местоположение независимо?
Ответы
Ответ 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
То, что может случиться, также заключается в том, что вы выполняете перемещение на дочернем элементе корня.
Попробуйте выполнить перемещение в корневую папку. Все папки с детьми также будут автоматически перемещены.