0

我想将 CVS 存储库迁移到 Gitlab。我在一个存储库下有多个模块。我需要在 Gitlab 中作为包含所有目录的单个存储库进行迁移。

CVS 存储库:

    Repository --->  module_1
                     module_2
                     module_3
                     module_4
                     module_5

我需要将上述模块作为单个存储库迁移到Repository.git中。如何在不丢失每个分支和标签的提交历史记录的情况下做到这一点?

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

我执行了以下步骤以作为单个模块进行迁移,它正在正确迁移。

  1. 百胜安装颠覆
  2. svn --版本
  3. svn co --username=guest --password="" http://cvs2svn.tigris.org/svn/cvs2svn/trunk cvs2svn-trunk
  4. cd cvs2svn-trunk
  5. mkdir cvs2git-tmp
  6. 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
  7. git init --bare /root/module_1-cvs2git.git
  8. cd /root/module_1-cvs2git.git/
  9. git fast-import --export-marks=../cvs2svn-trunk/cvs2git-tmp/git-marks.dat <../cvs2svn-trunk/cvs2git-tmp/git-blob.dat
  10. git fast-import --import-marks=../cvs2svn-trunk/cvs2git-tmp/git-marks.dat <../cvs2svn-trunk/cvs2git-tmp/git-dump.dat
  11. git gc --prune=now
  12. 光盘 $HOME
  13. git clone /root/module_1-cvs2git.git
  14. cd module_1-cvs2git

我执行了相同的步骤并修改了 [6] 步骤以迁移为单个 repo,如下所示,并完成了缺少少量提交的迁移,并添加了更多带有消息“此提交由 cvs2svn 制造以创建分支”的提交。

这是作为单个存储库迁移的方式吗?或者是否有任何其他方式或工具可以迁移为单个存储库?

[6]. python cvs2git --blobfile=cvs2git-tmp/git-blob.dat --dumpfile=cvs2git-tmp/git-dump.dat --username=cvs2git /home/cvs/Repositories/ --fallback-encoding=UTF-8

这里的任何输入都非常感谢。

4

0 回答 0