Назад | Перейти на главную страницу

Как обновить файловую систему с v2 до v3 FSFS Subversion

Во-первых, я пытаюсь повторно интегрировать ветку в магистраль (используя TortoiseSVN), но получаю сообщение об ошибке «Для запроса информации о слиянии требуется версия 3 схемы файловой системы FSFS; файловая система E: / MyRepository / использует только версию 2».

Неужели в более ранних версиях Subversion невозможно было реинтегрировать ветки? Или есть другой способ сделать это?

В любом случае, как мне обновить файловую систему с версии 2 до версии 3?

Дамп / загрузка не требуется для обновления репозиториев Subversion. Используйте команду svnadmin upgrade:

svnadmin upgrade <path-to-repos>

ПРИМЕЧАНИЕ: svnadmin upgrade «выполняет только минимальный объем работы, необходимый для этого, при этом сохраняя целостность репозитория. Хотя дамп и последующая загрузка гарантируют наиболее оптимизированное состояние репозитория, svnadmin upgrade нет». - смотрите также документация по обновлению svnadmin

Вы не указали версию Subversion, на которой работает ваш сервер. Но судя по сообщению, которое вы указали в вопросе, вероятно, это версия 1.4.x или более ранняя. Я не помню, была ли предоставлена ​​команда обновления для преобразования с 1.4.x в 1.5.x, но верный файловый способ перевести репозиторий из версии 2 в версию - это сделать дамп и загрузить. Но это не имеет большого значения, вы все равно захотите установить 1.6.x, чтобы использовать последнюю версию. Итак, вот шаги, которые вам нужно сделать:

  • Обновитесь до Subversion 1.6.x, если еще не сделали
  • Сделайте дамп существующего репозитория с помощью svnadmin dump
  • Создайте новое репо, назовите его _new
  • Загрузите новое репо с дампом старого, используя svnadmin load
  • Скопируйте файл uuid из старого репозитория в новый репозиторий
  • переименуйте старый репозиторий в _old
  • переименуйте новый репозиторий в

См. Также FAQ по Subversion. http://subversion.apache.org/faq.html#dumpload для конкретного примера.

Об этом нужно позаботиться, а файл uuid не даст вашим клиентам волноваться. Однако, чтобы быть уверенным, обновите svn.

У Ивана есть хороший совет, который работает, я попробовал, и он очень простой.

svnadmin upgrade <path-to-repos>

Одна вещь, которую я пропустил в примере Ивана, может быть полезна другим:

Ex.

<path-to-repos> = C:\repos\theRepo
(ie. NOT C:\repos\theRepo\db)

Не указывайте svnadmin на каталог db, а на каталог, содержащий каталог db.