2009-07-21 6 views
20

Как мы обновляем наш SVN с версии 1.4.4 до версии 1.6?Как обновить SVN 1.4.4 (r25188) до SVN 1.6

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

svnadmin upgrade 

SVN работает на среде Windows Server. Мы запускаем версию сервера SVN: svnadmin, версия 1.4.4 (r25188) скомпилирована 2007-06-08T18: 49: 42.

+0

Вы обновляете клиент или сервер? – EFraim

+0

Мы запускаем версию сервера SVN: svnadmin, версия 1.4.4 (r25188) скомпилировано 8 июня 2007, 18:49:42 – Robs

ответ

32

Какой сервер вы используете? Если вы используете apache (http: //) или svnserve (svn: //), просто замените все двоичные файлы svn на версии 1.6.3 двоичных файлов (knee jerk nag - сначала создайте резервную копию своего репозитория, сохраните старый бинарные файлы). Не забудьте обновить модули apache, если вы используете apache.

Если вы не используете сервер, а работаете с файлами directy (c: \), просто обновите свои клиенты, чтобы использовать 1.6.3.

На данный момент ваш новый сервер 1.6 обслуживает хранилище 1.4. Чтобы обновить структуру репозитория и получить полный доступ к новым функциям, используйте команду обновления svnadmin, которая поставляется с версиями 1.6. Запустите эту команду на компьютере, который имеет доступ к физическим файлам репозитория и предоставит ему физическое расположение корня репозитория (c: \ myrepository).

Вы можете получить более оптимизированную структуру репозитория, если вы выгрузите содержимое с помощью svnadmin dump, создайте новый пустой репозиторий, svnadmin загрузите старый дамп. Прочтите примечания к выпуску для 1.5 & 1.6 и выход «svnadmin help upgrade», чтобы узнать, почему.

Ваши клиенты могут обновляться отдельно, когда они будут готовы. Служба 1.6 может разговаривать с клиентом 1.4, 1.5 или 1.6, а клиент 1.6 может разговаривать с сервером 1.4, поэтому не имеет значения, сначала ли вы обновляете клиентов.

В отличие от репозитория, рабочие копии на ваших компьютерах обновляются, как только их видит новый клиент. Это означает, что у вас возникнут проблемы с перемещением клиентов разных версий на одном компьютере, например, если вы используете tortoisesvn и ankh svn - вам необходимо одновременно обновить оба клиента до версии 1.6. Если вы получите ошибки в рабочей копии, это будет почему. Он не исчезнет, ​​пока вы не прекратите использование старых клиентов.

Как и все подрывные операции, необходим redbook.

+0

Спасибо Джим Т - Я отдам его. – Robs

+0

В раздумьях мне просто нужно было запустить «обновление svnadmin», и оно обновило бы программное обеспечение и репозиторий. – Robs

+0

У меня теперь новый 1.6.2, идущий вдоль стороны 1.4.4 Это было не совсем то, что я ожидал. – Robs

0

Команда svnadmin является частью пакета сервера SVN. Убедитесь, что вы используете серверную версию пакета (вам не нужно запускать svnadmin на локальном клиенте/рабочей копии).

Если вы установили комплектную/упакованную версию, убедитесь, что это полная версия.

+0

Мы запускаем сервер SVN на Windows 2003 Server. Как я могу проверить, есть ли вложенная/упакованная версия? – Robs

2

Мы следовали рекомендациям Джима Т, и это сработало хорошо. У нас была только одна проблема с фиксации:

СВН: Commit неудачная (подробности ниже): SVN: Невозможно открыть файл/дб/TXN тока блокировки ": Отказано в

Мы решили путем изменения разрешений файлов в папке db.

+0

, потому что у вас нет разрешения на запись с проектом. Дайте разрешение на репозиторий, а затем вы можете передать svn. – unknown

Смежные вопросы