Обновление с Subversion 1.5 до Subversion 1.7 - PullRequest
4 голосов
/ 13 октября 2011

Мы запускаем Subversion 1.5.4 на наших клиентах и ​​сервере. Можно ли напрямую обновить Subversion 1.5 до версии 1.7? Какие шаги необходимы для этого?

Ответы [ 3 ]

21 голосов
/ 13 октября 2011

читаю заметки о выпуске

Вопросы совместимости

Старые клиенты и серверы прозрачно взаимодействуют с 1,7 серверами и клиентами. Однако некоторые новые функции 1.7 могут быть недоступны, если только клиент и сервер не являются последней версией. Также есть случаи, когда новая функция будет работать, но будет работать менее эффективно, если клиент новый, а сервер старый.

Нет необходимости сбрасывать и перезагружать ваши репозитории. Серверы Subversion 1.7 могут читать и писать в репозитории, созданные в предыдущих версиях. Чтобы обновить существующую установку сервера, просто установите новейшие библиотеки и двоичные файлы поверх старых.

Серверы Subversion 1.7 используют тот же формат хранилища, что и Subversion 1.6 . Таким образом, существует возможность беспрепятственного обновления и понижения между серверами 1.6.x и 1.7.x без изменения формата репозиториев на диске. (Как правило, это неверно для любой пары серверов 1.x и 1.y, но в некоторых случаях это относится к 1.6 и 1.7.) Если на сервере были включены новые функции 1.7 (в перехватчиках или в файлах конфигурации сервера), они Конечно, перед возвратом на сервер 1.6 придется отключить его.

Клиенты Subversion 1.7 используют новый формат рабочей копии . Клиенты Subversion 1.7 не могут использовать рабочие копии Subversion 1.6 (и более ранние версии). Существующие рабочие копии, созданные с помощью Subversion 1.6 и более ранних версий, необходимо обновить, прежде чем их можно будет использовать с клиентом Subversion 1.7

1.5 был прозрачно обновлен до 1.6, если память мне не помешает

Из примечаний к выпуску также

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

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

Примечание. Subversion 1.7 не может обновить рабочие копии, с которыми клиент 1.6 отказался бы работать до запуска очистки svn (с клиентом 1.6). Другими словами, перед обновлением до 1.7, клиент 1.6 должен использоваться для запуска очистки svn на всех рабочих копиях, которые требуют очистки. Мы сожалеем об этом ограничении, но нам пришлось ввести его для того, чтобы 1.7 отгрузил своевременно и без чрезмерного усложнения внутренних органов.

1 голос
/ 25 ноября 2011

Чтобы завершить ответ, правильно, что 1.5 прозрачно обновляется до 1.6.Согласно примечанию к выпуску 1.6 единственной функцией, требующей хранилища 1.6, является упаковка FSFS, см. svnadmin pack.

Если вам нужна упаковка для большой производительности хранилища, выперед использованием svnadmin pack.

необходимо запустить svnadmin upgrade в каждом хранилище. Вам также может быть интересен мой улучшенный fsfs-reshard.py скрипт для оценки и настройки размеров осколков перед упаковкой, а такжераспаковать упакованный репозиторий.

0 голосов
/ 19 февраля 2016

Когда мы обновили SVN 1.6 до SVN 1.8, клиент SVN 1.8 отлично работал для проверки и фиксации, но при попытке выполнить слияние он будет жаловаться на эту ошибку:

svn: E200020: Invalid revision number '0' found in range list

Это произошло из-за того, что SVN 1.6 поместил ревизию 0 в свойствах svn:mergeinfo, а клиент SVN 1.8 больше этого не позволял.

Нам пришлось переписать всю историю репозитория SVN и заменить любое упоминание ревизии 0 ревизией 1 в наших svn:mergeinfo свойствах. Мы написали svndumpapi , чтобы сделать замену .

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