Как преобразовать исходный репозиторий CVS в репозиторий Git one?
Я пытаюсь преобразовать репозиторий CVS в репозиторий Git. В репо есть 2 каталога «modules» в основном каталоге «cvs», например:cvs / module_acvs / module_b
В настоящее время я пробую 3 способа, изученные на SourceForge, на следующей полезной странице:
https://sourceforge.net/p/forge/documentation/CVS/
Первый метод, который я использовал, заключался в подключении через оболочку ssh и следовании инструкциям по использованию «cvs2git», но в конце процесса процесс «import», похоже, импортировал только «module_a».
Второй метод заключался в использовании "cvs2git" локально, но похоже, что исходный сайт для загрузки инструмента в виде tarball в настоящее время недоступен: я пробовал использовать URL-адрес, указанный на этом веб-сайте: https://www.mcs.anl.gov/~jacob / cvs2svn / cvs2git.html (Недоступный сайт: http://cvs2svn.tigris.org/servlets/ProjectDocumentList )
Итак, я попытался загрузить из SF.NET Shell, но мне сложно вручную заново собрать все deps. Кроме того, этот инструмент, похоже, доступен из пакетов Ubuntu, но сейчас Ububtu WSL сообщает мне об отсутствии этого инструмента:
sudo apt-get install cvs2svn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package cvs2svn is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'cvs2svn' has no installation candidate
- Итак, я попробовал с помощью "git cvsimport":
git cvsimport -v -a -k -d ~/cvs -C ~/new-git -A ~/authors.txt MODULE
но этот инструмент после обработки всех источников CVS, на которые он претендует
cvs rlog: Logging module_a/src/main/resources/res
DONE; creating master branch
fatal: refs/heads/origin: not a valid SHA1
fatal: master: not a valid SHA1
fatal: You are on a branch yet to be born
checkout failed: 32768
Так что, пожалуйста, не могли бы вы помочь мне найти наиболее практичный способ локально конвертировать старые репозитории CVS? Заранее спасибо.
РЕДАКТИРОВАТЬ: в случае 1 я выполнил инструкции по ссылке выше:
ssh -t USERNAME@shell.sf.net create
mkdir cvs2git-tmp cd cvs2git-tmp cvs2git --blobfile=blob.dat
--dumpfile=dump.dat \
--username=FIXME --default-eol=native \
--encoding=utf8 --encoding=latin1 --fallback-encoding=ascii \
/home/classic/cvs/PROJECT
cat blob.dat dump.dat | git --git-dir=/home/git/p/PROJECT/code.git fast-import
rm blob.dat dump.dat