Восстановить исходный код из репозитория BDB SVN
Я пытаюсь восстановить исходный код из резервной копии SVN, в которой у меня больше нет удаленного репозитория. Это старый проект, и он использовал BDB в качестве базы данных, которая больше не поддерживается клиентами SVN.
Файлы в этой резервной копии:
db/
hooks/
locks/
format
README.txt
Что я пробовал до сих пор:
Используя команду восстановления из
svnadmin
Создание нового репозитория с использованием svn 1.8 (который по-прежнему поддерживает создание репозиториев BDB) и копирование
db/
папка. Структураdb/
Папка существенно отличается от более новых версий, в той, что в моей резервной копии, есть ревизии и транзакции в виде папки, а не файлов.Скачивание исходного кода из svn 1.6 (из архивов apache) и компиляция с нуля. Я не смог скомпилировать из-за множества устаревших зависимостей.
Дополнительная информация:
Я использую Linux для этого, но я также пробовал в Windows и Mac
Текущая версия svn, которую я установил, - 1.8.
У меня нет доступа к исходному серверу, у меня есть резервный zip-файл
Это содержимое папки d b:
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 ответ
- Это руководство по миграции может помочь
- Как я читал (сейчас) в примечаниях к выпуску Apache Subversion 1.8
Разработчики Subversion решили отказаться от серверной части репозитория на основе Berkeley DB. … Что это не означает: пользователям не нужно немедленно переносить свои репозитории в FSFS. Серверная часть BDB будет продолжать работать и получит столько же тестового покрытия, сколько было до сих пор.
Т.е. вы можете, как это предлагается в документации Collab, иметь репозиторий с BDB-backend и выполнять с ним все обычные административные операции - создавать дамп и загружать его в новое репо с FSFS-backend. Если ваш БД не сломан послеrecover
тогда трюк dump|load должен дать ожидаемый результат