SVN - изменить рабочую копию, чтобы она указывала на новый путь svn

87

У меня есть репозиторий SVN, который переехал на новый адрес / путь. Однако у меня есть рабочая копия с незафиксированным исходным кодом, по-прежнему указывающим на старый (теперь недействительный) путь к репозиторию. Как сделать так, чтобы рабочая копия указывала на новый репозиторий?

Quano
источник

Ответы:

78

svn switch --relocateустарело начиная с версии 1.7 Subversion. svn relocateВместо этого используйте команду.

Он принимает либо, FROM-PREFIX TO-PREFIX [PATH...]либо в TO-URLкачестве аргументов.

Увидеть

svn help relocate

для дополнительной информации.

Майкл Кребс
источник
58

Используйте svn switchкоманду с параметром --relocateкомандной строки.

Грег Хьюгилл
источник
1
Спасибо. Вот что я использовал: svn switch --relocate file: /// Users / user / old_repository / project / trunk file: /// Users / user / new_repository / project / trunk
quano
Не исправляет URL-адреса в svn: externals. Есть идеи, как это сделать?
Аксель Брегнсбо
26

Использование TortoiseSVN

  1. Щелкните правой кнопкой мыши рабочую копию и выберите «SVN Switch ...»
  2. В форме «Переключиться на ветку» выберите новый путь SVN

Использование команды

  1. Открыть консоль
  2. Перейти к рабочей копии cd [working copy path]
  3. Напишите команду svn relocate [new url]
Ахмед Абдалла
источник
Это применимо только при использовании TortoiseSVN, который на плакате не указано, что он или она использует.
zck 04
Привет, @zck, обратите внимание, что я написал 2 решения в 1 ответе, первый TortoiseSVN, а второй - Command, эта команда устарела для подрывной деятельности в целом, вы можете просмотреть эту страницу svn relocate / svn Подкоманды
Ахмед Абдаллах
Что ж, ваш ответ был отредактирован после того, как я прокомментировал, как это сделать с помощью командной строки. Этот ответ командной строки уже был опубликован в июне, поэтому нет необходимости его повторять.
zck 09
Нет, я публикую ответ в его текущих словах "моя правка" только для улучшения форматирования; и я думаю, что команда, которую я написал, более ясна, чем та, что была написана в июне
Ахмед Абдалла
Для работы с графическим интерфейсом TortoiseSVN необходимо щелкнуть «переместить», а не переключаться. Что имеет смысл, учитывая командную строку ... Не уверен, что подействует переключатель - похоже, он пытался получить доступ к старому URL-адресу и новому URL-адресу, чего я не хотел.
Gerard ONeill
12

Если быть более точным

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

Например:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 
БТР Найду
источник
3

Использование TortoiseSVN tortoisesvn docs

  1. Перейдите в корневую папку рабочей копии
  2. Щелкните правой кнопкой мыши, выберите Подменю TortoiseSVN, щелкните Переместить.
  3. Введите новый путь
Ицхак Вайнберг
источник
1

Очень простой :

Шаг 1. Откройте командную строку / терминал и установите рабочий путь.

Шаг 2: Выполните эту строкуsvn switch --relocate http://newurl

Раджеш Логанатан
источник
0

Я изменил свой svn-сервер, чтобы принудительно перенаправить все с HTTP на HTTPS (и это могло быть перенаправление на любой другой URL-адрес), и я заметил, что эта svn relocateкоманда вызывала множество проблем с внешними данными. К счастью, я обнаружил, что проще всего было просто сделать это, svn updateи из-за перенаправления svn-сервера он обновил все хранилища URL-адресов в локальной рабочей копии, включая внешние.

Гюнтер Шадов
источник