CVS в git
2 comments
На досуге сделал скрипт для поддержания git-зеркала CVS-репозитария. Из всего существующего ничто не смогло осилить нужный мне CVS. cvs2git не умеет делать инкрементальные апдейты и требует прямой доступ к RCS-файлам, а cvsps хотел очень много памяти (на 32-битной системе кончилось виртуальное адресное пространство), а после апдейта до 64 бит, поплевался на что-то внутри репозтория и отказался работать.
В результате пришлось сделать простенький парсер cvs rlog, который генерит patchset’ы только для HEAD и vendor branches, вызывает git cvsimport и сохраняет состояние после последнего апдейта в файле. Вроде уже недельку работает и еще ни разу не засбоил. Взять можно здесь.