Ошибки при переносе репозитория Subversion

У меня проблемы с переносом репозиториев со старого сервера Ubuntu 12.04 на новый сервер с FreeNAS 9.3 (на основе BSD) с помощью команд svnadmin dump и load. Когда я пытаюсь загрузить репозитории, я получаю ошибку E200029 о невозможности открыть базу данных реп-кеша или выполнить атомарную инициализацию, как показано в этом screenshot, и в репозиторий ничего не попадает. Я прочитал руководство svn-book и исследовал решения в Интернете, повторно сбросил репозиторий, попытался сделать это как root, так и как учетные записи subversion: subversion и заполнил репозиторий пустыми каталогами, но я не смог понять проблемы пока нет.

Моя установка - это многопроектный репозиторий с подпапками для отдельных проектов с использованием структуры тегов / веток / ствола в папке этого проекта (с учетом номера проекта), которая выглядит примерно так.

$ svn list file:///var/svn/multi-project-repo
project-A/
project-B/
$ svn list file:///var/svn/multi-project-repo/project-A
trunk/
branches/
tags/
$

Есть около 30 папок с проектами. Текущий сервер Ubuntu использует svnadmin --version 1.6.17, а новый сервер FreeNAS использует svnadmin --version 1.8.13. Если это проблема, я не уверен, как устранить эти различия, поскольку у Ubuntu нет более новой версии в репозитории пакетов.

Я использовал следующую команду для создания файла дампа всего репозитория без каких-либо конкретных флагов или фильтрации. Я просто пытаюсь воспроизвести ту же структуру на новом сервере. Это было запущено как root в задании cron на сервере Ubuntu.

svnadmin dump --quiet /home/svn/repos/projects > /home/svn/migrate/projects.dmp

Затем я установил Subversion в тюрьму BSD сервера FreeNAS (pkg install subversion) и создал репозиторий «проектов». Изначально это был просто пустой репозиторий, который не удалось загрузить, но, поскольку есть только 30 подкаталогов, я также попытался заполнить репозиторий пустыми каталогами проектов, включая подкаталоги веток / тегов / грузовиков, используя клиент SVN в моем окне Windows, а затем попытаться загрузить репозиторий из дампа через шелл в джейл FreeNAS, как root. Это тоже не удалось загрузить с той же ошибкой.

svnadmin load /var/svn/repos/projects < /var/svn/dump/projects.dmp

Должны ли абсолютные пути к исходному и новому репозиториям быть одинаковыми? Есть идеи, что еще я могу попробовать или что может вызвать проблемы?

Спасибо.

Примечание: в своем исследовании я отправил этот вопрос на форуме, посвященном подрывной деятельности, но не получил никаких ответов.


person raidoh    schedule 03.06.2015    source источник


Ответы (1)


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

# svnadmin create --pre-1.6-compatible /path/to/repos
person raidoh    schedule 04.06.2015