CVS в git

На досуге сделал скрипт для поддержания git-зеркала CVS-репозитария. Из всего существующего ничто не смогло осилить нужный мне CVS. cvs2git не умеет делать инкрементальные апдейты и требует прямой доступ к RCS-файлам, а cvsps хотел очень много памяти (на 32-битной системе кончилось виртуальное адресное пространство), а после апдейта до 64 бит, поплевался на что-то внутри репозтория и отказался работать.

В результате пришлось сделать простенький парсер cvs rlog, который генерит patchset’ы только для HEAD и vendor branches, вызывает git cvsimport и сохраняет состояние после последнего апдейта в файле. Вроде уже недельку работает и еще ни разу не засбоил. Взять можно здесь.

  • Digg
  • del.icio.us
  • Facebook
  • Twitter

2 Comments so far

  1. Tauru$ ForeveR on April 26th, 2011

    начал переводить полик… на гІт? :-)
    ЗЫ, интересует данный опыт в свете проведения подобного у нас

  2. gonzo on April 27th, 2011

    Не, не перевожу. git пробовали, но отказались. Это я для себя простое зеркало поднял, чтоб держать feature branches.

Leave a Reply