У нас есть репозиторий Subversion на Windows Server 2003, и мы хотели бы перенести его на новый сервер с Server 2008 R2 64 бит. На новом сервере установлено 8 ГБ оперативной памяти.
Я надеялся сделать дамп и загрузить весь репозиторий, так как сейчас он в формате до 1.5. Репозиторий содержит чуть более 20 000 ревизий. На ревизии 12900 процесс svnadmin исчерпывает память, как бы я ни пытался импортировать эту версию.
Я пробовал загружать все это из одного большого файла дампа. Я пробовал передавать весь дамп напрямую в загрузку. Я также пробовал делать меньшие наборы ревизий обоими способами. И даже просто пробовал эту одну ревизию саму по себе.
Процесс использует около 1998 МБ в диспетчере задач, прежде чем завершается с этой ошибкой:
D:\Repositories\svnrepos>svnadmin load ./ < c:\Backup\svn_12900.dmp <<< Начата новая транзакция на основе исходной ревизии 12900 * путь редактирования: .../Bld/Installers ... выполнено. * путь редактирования: .../Bld/Installers/xyxSetup.exe ... выполнено. * путь редактирования: .../Installers/xyxyWebSetup.exe ... выполнено. * путь редактирования: .../Bld/Src ...Недостаточно памяти — завершение работы приложения.
Это приложение запросило Runtime завершить его необычным способом. Пожалуйста, свяжитесь со службой поддержки приложения для получения дополнительной информации.
Я проверил журнал на наличие этого номера ревизии, и на самом деле это была просто фиксация автоматической сборки, поэтому установщики, которые импортируют, работают нормально, а затем в случае сбоя в файлах AssemblyInfo.cs отображаются только номера версий.
Я не знаю, что еще мне стоит попробовать?
решение1
Использование 32-битной версии svn на 64-битной Windows означает, что svn может выделить только 2 ГБ памяти. Получите 64-битную сборку subversion.
Я уже не помню алгоритм потоковой загрузки svn, но он может подумать, что у вас доступно 8 ГБ, и завершить работу, когда сам не сможет справиться с более чем 2 ГБ.
решение2
Я бы рекомендовал отправить этот вопрос по адресу[email protected], так как этот список содержит много администраторов систем Subversion. По крайней мере некоторые из них, вероятно, уже сталкивались с этой проблемой.
решение3
попробуйте svn-kit. это порт subversion на java.