Как правильно удалить svn: externals и заменить его на локальную (не внешнюю) копию того же каталога?
Я понимаю, что есть похожие вопросы по этой теме, но я до сих пор не могу найти ответ для моего конкретного случая. У меня есть проект, который я унаследовал от другого репо-команды. Мы сделали "svn switch -relocate", чтобы перенаправить наши проверенные копии на наш сервер, а не их. Но у них все еще есть svn: externals для подкаталога, и он все еще указывает на один из их других репозиториев.
Как правильно удалить внешний и заменить его на локальную версию этого каталога? Я попытался просто удалить внешний каталог и заменить его локальной копией и проверить его, но когда "svn up" в корне проекта, он жалуется, что этот каталог "заблокирован". Что я делаю неправильно?
О, и у меня нет большого количества инструментов gui для этого установленного. Я просто делаю это в командной строке. Спасибо!
Ответы
Ответ 1
В корне вашей рабочей копии:
svn propedit svn:externals .
Вы должны увидеть файл в выбранном редакторе, который имеет такие строки:
path/to/extenal http://url/of/repo
Если вы удалите эту строку, запустите команду commit/update, она должна удалить внешнее определение из этого пути и разблокировать путь.
Вам может потребоваться запустить svn cleanup
, если он жалуется.
Ответ 2
Я столкнулся с этой проблемой, чтобы сделать это через eclipse, вы можете сделать следующее
Перейдите в корневую папку, в которой присутствует ваш внешний элемент, и щелкните правой кнопкой мыши команду > Показать свойствa >
вы должны увидеть пару с именем name с именем svn: external и value как внешний репозиторий. Щелкните правой кнопкой мыши, и вы можете увидеть опцию удаления, которая удалит ссылку.
вам может потребоваться выполнить svn: обновить или очистить после этого.