SVN обновить рабочую копию

133

Я не могу сделать SVN коммит. Я получаю эту ошибку:

org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: Working copy 'C:\.... is too old (format 10, created by Subversion 1.6)

Как это можно исправить?

user810430
источник

Ответы:

154

Вы должны обновить ваш клиент Subversion по крайней мере до 1,7.

С помощью клиента командной строки вы должны вручную обновить формат рабочей копии, введя команду svn upgrade:

Обновление рабочей копии

Subversion 1.7 вносит существенные изменения в формат рабочей копии. В предыдущих выпусках Subversion Subversion автоматически обновляла рабочую копию до нового формата при выполнении операции записи. Subversion 1.7, однако, сделает это ручным шагом. Перед использованием Subversion 1.7 со своими рабочими копиями пользователи должны будут выполнить новую команду, svn upgradeчтобы обновить метаданные до нового формата. Эта команда может занять некоторое время, и для некоторых пользователей может оказаться более практичным просто извлечь новую рабочую копию.
- Subversion 1.7 Примечания к выпуску

TortoiseSVN выполнит обновление рабочей копии с помощью следующей операции записи:

Обновление рабочей копии

Subversion 1.7 вносит существенные изменения в формат рабочей копии. В предыдущих выпусках Subversion автоматически обновляла рабочую копию до нового формата при выполнении операции записи. Subversion 1.7, однако, сделает это ручным шагом.

Прежде чем вы сможете использовать существующую рабочую копию с TortoiseSVN 1.7, вы должны сначала обновить формат. Если вы щелкнете правой кнопкой мыши по старой рабочей копии, TortoiseSVN покажет вам только одну команду в контекстном меню: Обновить рабочую копию.
- TortoiseSVN 1.7 Примечания к выпуску

knittl
источник
2
Когда я svn upgrade
запускаю
@geneorama: вы svnустановили? ( sudo apt-get install svn)
knittl
5
Спасибо за ответ! У меня был установлен SVN (Subversion), но это была версия 1.6, которая не имеет upgradeкоманды. Ubuntu 12.04 не установит 1.7 без добавления нового ppa. askubuntu.com/questions/65468/…
geneorama
@genorama Ниже приведены инструкции по обновлению svn для Mac OS, которые будут работать, начиная с версии 1.6 redfinsolutions.com/blog/update-subversion-mac-os-x . Я думаю, что для Linux это похоже.
Майк Энг,
1
«Эта команда может занять некоторое время, и для некоторых пользователей может оказаться более практичным просто извлечь новую рабочую копию». Я запускаю команду, не зная, чего ожидать, через 2 секунды консоль обновляет ответ "." : P
rabidmachine9
57

из затмения, вы можете выбрать на проекте, щелкните правой кнопкой мыши -> команда-> обновить

Ричард Хсу
источник
Невозможно найти вариант апгрейда
Амит Тейпер
6

На MacOS:

  1. Получите последние скомпилированные двоичные файлы клиента SVN отсюда .
  2. Установить.
  3. Добавьте двоичные файлы в путь (последний экран установки объясняет как).
  4. Откройте терминал и выполните следующую команду в каталоге вашего проекта:

    SVN обновления

Vaiden
источник
3

Если вы только что обновились до SVN 1.7 на своем компьютере (как я только что сделал) и у вас есть много проектов в рабочей области Eclipse, которые необходимо обновить, вы можете сделать следующее в окне терминала в системах Unix-baesd:

cd [eclipse/workspace] # <- you supply the actual path here

for file in `find . -depth 2 -name "*.svn"`; do svn upgrade `dirname $file` ; done;

Немного погуглив, я нашел то, что кажется эквивалентным для пользователей Windows:

http://www.rqna.net/qna/mnrmqn-how-to-find-all-svn-working-copies-on-win-xp.html

Посмотрите ответ Алексея Щербака на полпути вниз по странице.

pfurbacher
источник
2

Эта проблема из-за того, что вы пытаетесь скомпилировать проект, который имеет файлы более старых SVN, чем вы используете в настоящее время.

У вас есть два решения, чтобы решить эту проблему

  1. установить SVN версии 1.6 для совместимости с файлами SVN проекта
  2. попробуйте обновить проект .. (не всегда работает).
AmrAngry
источник
2

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

В этом случае просто выполните поиск файлов .svnи удалите .svnненужные папки (конечно, не удаляйте свои в корне).

youen
источник
1

После обновления до последней версии Tortoise-SVN мне сначала нужно было выполнить «Обновление» (в отличие от «Обновления»!).

Торстен Диттмар
источник
1

Если вы получаете эту ошибку от Netbeans (7.2+), это означает, что ваша отдельно установленная версия Subversion выше, чем версия в NetBeans. В моем случае Netbeans (v7.3.1) имел SVN v1.7, и я только что обновил свой SVN до v1.8.

Если вы посмотрите Tools > Options > Miscellaneous (tab) > Versioning (tab) > Subversion (pane), установите Preferred Client = CLI , то вы можете установить путь к установленному SVN, который для меня был C:\Program Files\TortoiseSVN\bin.

Дополнительную информацию можно найти в разделе часто задаваемых вопросов о клиентах Netbeans Subversion .

icc97
источник
1

В AnkhSVN в Visual Studio также есть опция «Обновить рабочую копию» в контекстном меню для решения в обозревателе решений (если применимо).

Андре Луус
источник
0

Вы можете обновить до Subversion 1.7. Для обновления до Subversion 1.7 вам нужно запустить существующий проект в Xcode 5 или выше. Это выдаст предупреждение « The working copy ProjectName should be upgraded to Subversion 1.7» (показано на скриншоте ниже).

Снимок экрана для предупреждения

Вы должны Upgradeнажать кнопку « », чтобы перейти на Subversion 1.7. Это займет немного времени.

Если вы используете терминал, вы можете перейти на Subversion 1.7, выполнив следующую команду в каталоге вашего проекта: svn upgrade

Обратите внимание, что как только вы upgraded to Subversion 1.7 you cannot go back to Subversion 1.6.

Обратитесь к документации Apple для более подробной информации.

Джайпракаш Дубей
источник