Как я могу понизить версию рабочей копии SVN? - PullRequest
36 голосов
/ 04 апреля 2009

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

svn: This client is too old to work with working copy '.';  
  please get a newer Subversion client

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

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

Сценарий, который нужно представить, будет примерно таким: Джо отправит вам большую рабочую копию с множеством вложенных каталогов (и связанных версионных папок .svn). Вы работаете над этим. Когда вы пытаетесь зафиксировать это, svn сообщает, что ваш клиент слишком стар. Отправлять его обратно Джо не нужно. Извлекать новую рабочую копию не нужно, и объединение изменений в любом случае будет неудобным.

Есть ли способ сделать это?

Ответы [ 2 ]

36 голосов
/ 04 апреля 2009

Краткий ответ: это не тривиально.

К счастью, разработчики предвидели эту проблему и обсуждают ее в FAQ: http://subversion.apache.org/faq.html#working-copy-format-change
В результате вы можете скачать и использовать их скрипт для этой цели: http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py

Обратите внимание, что для этого сценария требуется только основной номер версии клиента, поэтому если у вас версия клиента 1.4.4, команда будет выглядеть так:

python change-svn-wc-format.py <WC_PATH> 1.4 [...other options...]


Обновление:

Вышеуказанный скрипт работает только для версии 1.6 и ниже. Понижение с 1.7+, по-видимому, невозможно. Примечание от источника:

# Downgrading from format 11 (1.7) to format 10 (1.6) is not possible,
# because 11 does not use has-props and cachable-props (but 10 does).
# Naively downgrading in that situation causes properties to disappear
# from the wc.
#
# Downgrading from the 1.7 SQLite-based format to format 10 is not
# implemented.
6 голосов
/ 28 декабря 2012

Я просто удалил папку .svn в файле проекта, который создал 1.7, и заново добавил решение, используя 1.6. Это сработало для меня, надеюсь, это поможет кому-то еще.

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