这是一个多阶段问题。我在寻找 完成它的当前技术水平 并将不相连的资源联系起来 部分。
我需要的简短故事:
我的问题如下(较长的故事):
O_cvs
有一些分支,标签等,有超过10年的历史。O_cvs
的结帐副本(其中之一)
并推入Git仓库作为起点,让我们称之为O_git
。那里
没有进一步提交O_cvs
;迁移后O_cvs
计划进一步开发。O_git
添加了许多功能,项目分叉,其中一些
是通过拉取请求合并而有些不是,例如F1_git
,F2_git
等。因此,我的计划在适当的地方提出问题:
O_cvs
中的历史,贡献者和标签
喜欢保留作为基础。
结果我想制作一个回购,让我们从G_git
称它为O_cvs
(本地?)。
目前推荐的工具是什么?
为了我?我在这里和其他地方研究过,发现了不同的建议
多年来发布的内容,例如here,here,and here:
git-cvsimport
cvs2git
extension of svn2git
cvs2git
包装crap
" - Cvs远程访问计划G_git
(此处只有问题,这是订单),G
。O_git
及其在其他地方托管的叉子,所以我将其拉进去。G_git
+ O_git
的历史记录,并将它们推送到GitHub,进入合并的回购G
。
从我的研究和#34;嫁接"快速进口似乎是去这里的方式。
O_git
发送到GitHub上的G_git
(在将G_git
推送到GitHub之前是否应该进行嫁接?)O_git
,F1_git
等F2_git
的拉取请求(可能需要一段时间,但G
需要尽早退出)以整合它们进入G
(会有问题吗?我是否必须经过O_git
的中间步骤,然后通过另一个远程转到G
?)对当前工具和上述顺序以及相关陷阱的建议表示赞赏。
答案 0 :(得分:0)
最佳推荐解决方案(我在该问题上经验丰富)是将CVS repo保持为只读存储库,并将最新修订版合并到没有历史记录的git存储库。从长远来看,你将从中受益匪浅!
关于迁移工具,请尝试(我的工具):https://github.com/tikalk/tikal-alm-tools