SVN Switch Relocate - не является корнем репозитория - PullRequest
20 голосов
/ 28 января 2010

Я пытаюсь переместить папку рабочей копии со своего старого выделенного сервера 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

Что правильно ..... но, как ошибочно, как мне переместить местоположение независимо?

Ответы [ 4 ]

14 голосов
/ 28 января 2010

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

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

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

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

2 голосов
/ 21 апреля 2011

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

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

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

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

По крайней мере, так мне больше не нужно было делать большой заказ.

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

1 голос
/ 10 февраля 2014

То, что также может произойти, это то, что вы делаете перемещение на дочернем корне.

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

0 голосов
/ 28 января 2010

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

...