ошибка переключения svn - это не тот же репозиторий
-
06-09-2019 - |
Вопрос
Недавно я переместил сервер SVN, и теперь я пытаюсь переместить рабочие копии со своего компьютера на новый сервер.Но я получаю самую странную ошибку.я знаю :
svn switch http://99.99.99.new/svn/company/project/trunk/web
но я получаю
svn: 'http://99.99.99.old/svn/company/project/trunk/web'
is not the same repository as
'http://99.99.99.new/svn/company/project'
этот шаг был сделан с помощью dump и import ...и корневой каталог репо включен http://99.99.99.new/svn/company/project
Ребята , у вас есть какие - нибудь идеи о том , что может быть не так ?большое спасибо
Решение
Попробуйте использовать
svn switch --relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Как отметил Спорино в комментариях, начиная с Subversion 1.7, существует отдельный relocate
команда:
svn relocate http://99.99.99.old/svn/company/project/trunk/web http://99.99.99.new/svn/company/project/trunk/web
Другие советы
Кроме того, в TortoiseSVN есть опция "Переместить", которую вы должны использовать в подобных ситуациях (вместо опции "Переключить").
Мой лучший способ выполнить перемещение SVN - это:
svn switch --relocate $(svn info | grep ^URL | cut -f 2 --delim=' ') \
new_url_or_repository
Таким образом, используя правильный старый URL-адрес из svn info
команда, вы уверены, что не введете неправильную, что является одной из распространенных ошибок.
Если все верно, вам будет предложено ввести данные авторизации для нового местоположения, если они отличаются.
После выполнения команды обязательно дважды проверьте, что изменение было применено, просмотрев параметр URL, выдающий
svn info
После перемещения обновите свою рабочую копию, чтобы убедиться, что все в порядке:
svn update
Мой 2с ..
Используйте relocate
параметр командной строки для switch
команда.
документация по svn-коммутатору
Иногда администратор может изменить "базовое местоположение" вашего репозитория — другими словами, содержимое репозитория не меняется, но меняется основной URL, используемый для доступа к корню репозитория.Например, может измениться имя хоста, или схема URL, или, возможно, просто путь, который ведет к репозиторию.Вместо того, чтобы извлекать новую рабочую копию, вы можете попросить команду svn switch "переписать" начало всех URL-адресов в вашей рабочей копии.Используйте команду --relocate для выполнения замены.Содержимое файла не изменяется, и с репозиторием не связываются.Это похоже на запуск perl-скрипта над вашей рабочей копией .svn/ каталогов, который запускает s/OldRoot/NewRoot/.
Вам нужно использовать опцию --relocate (переместить) :
svn switch --relocate http://99.99.99.new/svn/company/project/trunk/web
видишь svnbook для получения более подробной информации.