2011-12-20 2 views
5

Есть ли способ обновить рабочую копию, чтобы исключить externals с TortoiseSVN?SVN: обновить рабочую копию, чтобы исключить извне с TortoiseSVN?

У меня есть рабочая копия, которую я проверил с внешними. Я делаю некоторые обновления для моих включенных путей и теперь имею эти внешние файлы в другом проекте. Я хочу обновить текущую рабочую копию, чтобы исключить внешние элементы - по существу, удаляя внешние из моей локальной копии.

Из-за горных изменений в моей рабочей копии просто удаление и повторная проверка, исключение извне, не является эффективным вариантом.

Я использую Tortoise SVN 1.7.2, используя формат 1.7.x.

EDIT: Хорошо, похоже, что я ищу, не представляется возможным. Кажется, что «SVN Update» всегда будет обновляться внешними, даже если репозиторий будет выгружен с помощью «Omit Externals» (--ignore-externals).

EDIT 2: Хорошо, нашел решение. Кажется, это не способ пометить его каждым репозиторием. Но глобально: «TortoiseSVN» => «Настройки» => «Дополнительно» установите значение «ВключитьExternals» в false. Это остановит «Обновление SVN» от обновления внешних. Похоже, для принудительного внешнего обновления мне нужно перейти в «Обновить до версии ...» Это выполнимо, так как это менее вероятная ситуация. (у меня есть 5 контрольных выходов, и только 1 требует внешнеположенности, и только тогда, когда опора является обновление. 2 нужно только один раз на выезде из отеля)

ответ

6

svn up --ignore-externals должен делать свою работу, вы можете удалить внешние папки вручную, то

+0

... nm. Казалось бы, это невозможно. Просто сделал тест. Я пытаюсь пометить мой репозиторий, чтобы игнорировать внешние, поэтому, когда я обновляю его, он не будет обновлять внешние. Оказывается: svn co -ignore-externals будет игнорировать внешние для этого экземпляра * one *. Как только я сделаю обновление ... он обновляет внешние. Я думал, что он будет игнорировать внешние для всех последующих обновлений. – guice

+2

Нет, вам придется добавлять это каждый раз. В конфигурации нет или нет. В unix-подобных системах я бы предложил создать псевдоним, включающий этот параметр, или перезаписать команду svn с помощью процедуры bash, которая устанавливает параметр по умолчанию. В окнах вам нужно будет создать скрипт bash, который передает параметры команде svn, которая включает в себя --ignore-externals. таким образом вы можете просто обновить его, дважды щелкнув этот bashfile. – zuloo

+0

Выключено TortiseSVN имеет опцию в расширенных параметрах, чтобы установить этот флаг все время. См. Мое редактирование выше. – guice

2

В TortoiseSVN вы можете обновлять без использования внешних ресурсов, выбрав «Обновить до версии ...» и установив флажок «Опустить внешние».

+0

Нет, не работает.'Обновить до версии', если выбрана 'HEAD', выбрано 'Omit Externals'. Успешно обновляется без внешних. Затем я сделал «SVN Update», и он обновился с помощью внешних ... – guice

0

Я понимаю, что это очень поздний ответ и, вероятно, OBE, решение вашей проблемы, если я правильно понимаю, это просто обновить список внешних.

По существу, у вас была куча внешних элементов, которые были перенесены в другой проект, и вы хотели обновить свою рабочую копию до , а не, включите их правильно?

Все, что вам нужно сделать, это щелкнуть правой кнопкой мыши по извлеченному каталогу (или просто в любом месте в пробеле в проводнике Windows, если вы находитесь в папке), перейдите в Tortoise SVN> Properties. Отредактируйте свойство, которое включает ваши внешние ссылки, и удалите/добавьте все нужные вам директории. Затем выполните обновление в вашем каталоге. Он больше не будет включать каталоги, которые были включены.