Доброго времени суток всем, задался тут вопросом, а как правильно мигрировать с svn на git в случае большого размера репозитория?
Для теста отзеркалировал FreeBSD Base - размер репозитория 11G, около 290000 коммитов с 1993 года. svndump в формате 2 (почему не 3, см. далее, в формате 3 - 9.8G) занимает 78G.
* git svn clone - работал полторы недели, потом был прибит, тк жрал дохрена памяти и cpu, ну и плюс http://esr.ibiblio.org/?p=6778
* reposurgeon - пытался мигрировать по этой статье. Завёл баг, что создание файла маппинга авторов коммитов svn->git жрёт дохрена (больше 16 гигов) оперативы и прибивается OOM киллером. Чел ответил:
Buy more memory
Что эпично, я считаю.
Даже без маппинга авторов процесс миграции с помощью reposurgeon (хотя он использует git-fast-import) на третий день отожрал 13 гигов оперативы и был прибит. А ещё эта хрень не понимает svndump версии 3, только 2.
Вопрос: как правильно конвертировать большие SVN репозитории в git? Кто чем пользуется? Может имеет смысл написать аналог reposurgeon на си, или крестах и аккуратнее использовать память (сейчас там питон, которого я не знаю)?