如何将包含多个模块的CVS存储库作为单个存储库迁移到Gitlab中

如何将包含多个模块的CVS存储库作为单个存储库迁移到Gitlab中,git,gitlab,cvs2git,git-fast-import,cvsimport,Git,Gitlab,Cvs2git,Git Fast Import,Cvsimport,我想将CVS存储库迁移到Gitlab中。我在一个存储库下有多个模块。我需要在Gitlab中以单个存储库的形式迁移所有目录 CVS存储库: Repository ---> module_1 module_2 module_3 module_4 module_5 我需要将上述模块作为单个存储库迁移到Repositor

我想将CVS存储库迁移到Gitlab中。我在一个存储库下有多个模块。我需要在Gitlab中以单个存储库的形式迁移所有目录

CVS存储库:

    Repository --->  module_1
                     module_2
                     module_3
                     module_4
                     module_5
我需要将上述模块作为单个存储库迁移到Repository.git。如何在不丢失每个分支和标记的提交历史记录的情况下执行此操作

注意:我使用了cvs2git工具来迁移它,但是它缺少了一些来自CVS的提交

我做了以下步骤作为一个单独的模块进行迁移,它得到了正确的迁移

  • yum安装subversion
  • svn—版本
  • svn co--username=guest--password=”“cvs2svn trunk
  • cd cvs2svn中继
  • mkdir cvs2git tmp
  • python cvs2git--blobfile=cvs2git tmp/git-blob.dat--dumpfile=cvs2git tmp/git-dump.dat--username=cvs2git/home/cvs/Repositories/module_1/--fallback encoding=UTF-8
  • git init——裸/root/module_1-cvs2git.git
  • cd/root/module_1-cvs2git.git/

  • git fast import--export marks=../cvs2svn trunk/cvs2git tmp/git-marks.dat真的没有魔力。您只需在每个模块上运行
    cvs2git
    ,只需将
    cvs2git
    脚本指向更高的一个目录即可。只要顶级目录中有一个CVSROOT子目录(内容无关紧要),cvs2git就会很高兴地导入它。@Mort感谢您的回复!我也这样做了,但是少了几次提交,又增加了几次提交。如何摆脱这种情况?在使用CVS迁移到GIT时,是否有任何选项可以避免在不丢失历史记录和添加额外提交的情况下?我对您关于丢失和添加提交的其他StackOverflow问题发表了一些评论。(如果您觉得我的任何回答有用,请给他们一个“向上箭头”如果他们对你的问题的回答令你满意,请打勾接受他们。Stack Overflow是游戏化的志愿服务,我想得到我的分数。:-)
    [6]. python cvs2git --blobfile=cvs2git-tmp/git-blob.dat --dumpfile=cvs2git-tmp/git-dump.dat --username=cvs2git /home/cvs/Repositories/ --fallback-encoding=UTF-8