Как правильно удалить svn: externals и заменить его локальной (не внешней) копией того же каталога? - PullRequest
28 голосов
/ 25 июня 2009

Я понимаю, что есть похожие вопросы на эту тему, но я все еще не могу найти ответ для моего конкретного случая. У меня есть проект, который я унаследовал от репо другой команды. Мы сделали «svn switch --relocate», чтобы перенаправить наши извлеченные копии на наш сервер вместо их. Но у них все еще есть svn: externals для подкаталога, и он по-прежнему указывает на один из их других репозиториев.

Как правильно удалить внешнее и заменить его локальной версией этого каталога? Я попытался просто удалить внешний каталог и заменить его на локальное копирование и проверить его, но когда 'svn up' в корне проекта, он жалуется, что этот каталог "заблокирован". Что я делаю не так?

О, и у меня не так много инструментов для графического интерфейса для этого. Я просто делаю это в командной строке. Спасибо!

Ответы [ 2 ]

40 голосов
/ 25 июня 2009

В корне вашей рабочей копии:

svn propedit svn:externals .

В выбранном вами редакторе вы должны увидеть файл, в котором есть такие строки:

path/to/extenal http://url/of/repo

Если вы удалите эту строку, а затем запустите коммит / обновление, она должна удалить внешнее определение из этого пути и разблокировать путь.

Вам может нужно запустить svn cleanup, если он жалуется.

4 голосов
/ 26 июня 2013

Я сталкивался с этой проблемой, чтобы сделать это через Eclipse, вы можете сделать следующее Перейдите в корневую папку, где находится ваш внешний сервер, и щелкните правой кнопкой мыши Team> Show properties>

вы должны увидеть пару имя-значение с именем как svn: external и значением как внешний репозиторий. Щелкните правой кнопкой мыши, и вы увидите опцию удаления, которая удалит ссылку.

после этого вам может потребоваться выполнить обновление или очистку svn:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...