Ну, это может быть проблемой. Мои строки git-cvsimport выглядят так:
git cvsimport -p x ...
Предполагается, что -p x передает параметр -x команде cvsps, чтобы он игнорировал кэшированный вывод, который он оставил после предыдущих запусков. Я подумал, что основной причиной этого было то, что последние несколько наборов патчей, которые могут быть неполными, будут выброшены и завершены при следующем запуске. Оказывается, это может быть больше проблем, которые он исправляет, и это может быть одним из них.
Я научился запускать git cvsimport таким образом из этой записи в блоге , которая в настоящее время является одним из самых популярных в Google для "git cvs". Только в описанном выше процессе, когда я пытался запустить git-cvsimport через отладчик Perl при выводе из cvsps, я должен был проверить и посмотреть, какие аргументы действительно приводили к cvsps. Я узнал, что cvsps запускается так:
cvsps --norc x --cvs-direct ...
Вместо:
cvsps --norc -x --cvs-direct ...
И я экспериментально проверил, что я получаю другой вывод из cvsps, с отсутствующими некоторыми наборами патчей (я понятия не имею, что это за паттерн), когда передается x вместо -x. Благодаря закону Мерфи, cvsps, похоже, не сообщает, что это было проблемой, и git-cvsimport никогда не видит ее.
Так или иначе, git cvsimport должен запускаться так:
git cvsimport -p -x ...
Мои предыдущие версии этого хранилища полностью закрыты на этом этапе, но я смог заставить последние из проблемных коммитов в них (хотя некоторые из более ранних коммитов отсутствуют). Итак, я еще раз прошёл четырехчасовой процесс импорта и надеюсь, что так оно и будет!
Последний совет: git-cvsimport в Windows, похоже, не работает вообще. Я получил менее 10% от числа коммитов, хотя у меня получилось дерево, которое напоминает текущее состояние нашего проекта. Кажется, ему не хватает почти всей истории ...