Восстановить исходный код из BDB SVN Repository - PullRequest
1 голос
/ 03 октября 2019

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

Файлы в этой резервной копии:

db/
hooks/
locks/
format
README.txt

То, что я пробовал до сих пор:

  1. Использование команды восстановления из svnadmin

  2. Создание нового репозитория с использованием SVN 1.8 (который по-прежнему поддерживает создание репозиториев BDB) и копированиепапка db/. Структура папки db/ существенно отличается от более новых версий, в моей резервной копии есть изменения и транзакции в виде папки, а не файлов.

  3. Загрузка исходного кода из SVN 1.6 (из apache ) и компиляция с нуля. Я не смог собрать из-за многих устаревших зависимостей.

Некоторая дополнительная информация:

  • Я использую Linux для этого, но я также пробовал в Windows и Mac

  • Текущая версия svn, которую я установил: 1.8

  • У меня нет доступа к исходному серверу, все у меня есть резервный zip-файл

  • Это содержимое папки db:

revprops/
revs/
transactions/
txn-protorevs/
__db.001
__db.002
__db.003
DB_CONFIG
__db.register
log.0000000001
nodes
txn-current
txn-current-lock
uuid
write-lock

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

1 Ответ

1 голос
/ 03 октября 2019
  1. Это руководство миграции может помочь
  2. Как я читаю (сейчас) в Замечания к выпуску Apache Subversion 1.8

Разработчики Subversion решили отказаться от серверной части хранилища на основе Berkeley DB. … Что это не означает : пользователям не нужно немедленно переносить свои репозитории в FSFS. Бэкэнд BDB продолжит работать и получит столько тестового покрытия, сколько у него было до сих пор.

Т.е., как вы можете предложить в документации Collab, вы можете иметь репозиторий с BDB-бэкендом и выполнятьвсе обычные административные операции с ним - создать дамп и загрузить его в новый репозиторий с FSFS-backend. Если ваша база данных не сломана после recover, то дамп | load trick должен получить ожидаемый результат

...