Как я могу понизить формат хранилища Subversion? - PullRequest
4 голосов
/ 23 сентября 2008

Есть ли способ уменьшить формат репозитория Subversion, чтобы избежать таких сообщений:

svn: Expected format '3' of repository; found format '5'

Это происходит, когда вы обращаетесь к репозиториям с более чем одного компьютера, и вы не можете использовать согласованную версию Subversion на всех этих компьютерах.

Хуже того, есть несколько репозиториев с различными форматами на разных серверах, и я не могу обновить некоторые из этих серверов. ~~~

Ответы [ 6 ]

12 голосов
/ 23 сентября 2008

Если вы не можете использовать одну и ту же версию Subversion на всех машинах, вам следует настроить серверный процесс (svnserve или Apache) и обращаться к хранилищу только через сервер. Сервер может быть посредником между различными версиями Subversion; только когда вы используете прямой доступ к репозиторию, вы сталкиваетесь с этой проблемой.

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

5 голосов
/ 24 сентября 2008

svnbook сообщает это (о файле: /// доступ к настройке сервера)

Не не соблазняется простой идеей чтобы все ваши пользователи имели доступ к хранилище напрямую через файл: // URL. Даже если хранилище легко доступно каждому через сеть поделись, это плохая идея. Удаляет любые уровни защиты между пользователи и хранилище: пользователи могут случайно (или намеренно) повредить базу данных хранилища, это становится трудно взять хранилище в автономном режиме для проверки или обновления, и это может привести к беспорядку файла проблемы с разрешениями (см. раздел называется «Поддержка нескольких хранилищ Методы доступа »). Обратите внимание, что это также одна из причин, по которой мы предупреждаем против доступа к репозиториям через svn + ssh: // URL-адреса - из безопасности точка зрения, это фактически то же самое как локальные пользователи, получающие доступ через файл: //, и это может повлечь за собой все то же самое проблемы, если администратор не осторожны.

Subversion гарантирует, что любой клиент 1.X может общаться с любым сервером 1.X. Используя сервер, вы можете одновременно обновлять сервер и клиенты, независимые от сервера.

3 голосов
/ 23 сентября 2008

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

2 голосов
/ 01 февраля 2011

Как уже упоминалось в этой теме Как понизить дерево подрывной деятельности с v1.7 до v1.6? на http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py есть скрипт python, который может понизить рабочую копию, но это будет только работать до версии 1.6x.

2 голосов
/ 23 сентября 2008

Согласно книге Subversion, нет никакого способа сделать это. Вам нужно будет экспортировать весь репозиторий, а затем приступить к его повторному импорту, когда у вас будет запущена старая версия.

В любом случае я предлагаю вам соответствующим образом обновить инструменты SVN на клиентских компьютерах вместо того, чтобы играть в опасные игры с вашим хранилищем.

Выберите версию и не трогайте ее, пока не будете готовы перейти на более новую версию.

0 голосов
/ 03 сентября 2011

Если вы понизили версию до v1.4x, вот еще один способ, который может вам помочь: https://www.admon.org/scripts/downgrade-svn-from-1-6-to-1-4/

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