Переключить каталог рабочей копии без обновления - PullRequest
6 голосов
/ 06 января 2012

Сценарий: Структура репозитория изменена с / trunk / на / projectName / trunk / , а локальная копия устарела и имеет много модификаций.

Вопрос: Как обновить путь к каталогу рабочей копии без обновления файлов.

Обычно решением для изменения каталога в том же репозитории является использование команды svn switch . Проблема заключается в том, что он выполняет обновление после выполнения, рабочая копия устарела и имеет множество локальных изменений, которые могут конфликтовать с текущей версией.

То, что я ищу, - это то же поведение переключателя - relocate , который обновляет путь, но не обновляет файлы. Таким образом, я могу восстановить способность проверять статусы и различия для каждого файла отдельно, сохраняя при этом функционал локального копирования (это моя главная задача).

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

Есть идеи? Большое спасибо.

1 Ответ

9 голосов
/ 06 января 2012

Решение для этого конкретного случая оказалось проще, чем я думал.

svn switch выполняет обновление последней версии в репозитории по умолчанию, указывая ревизию BASE (последняя ревизия, полученная из репозитория) рабочей копии, оставляя большинство файлов без изменений. *

Я получил BASE-версию моей рабочей копии (294), введя команду svn info.

Затем, просто введя команду switch с ревизией BASE, обновил путь к хранилищу, оставив большинство файлов без изменений.

svn switch -r 294 /projectName/trunk/

...