3

是的,我知道我应该放弃 CVS,但这不是我的决定,而且由于“传统”支持,CVS 将存在一段时间。但是,我认为第 1 步是在 git 上下文中显示 repo。出于这个原因,我首先想同步 CVS -> 'readonly' Git。

然后我可以手动将 git repo 中的更改放回 CVS。

我可以使用哪些工具来做到这一点?哪个最好?什么不能做(我认为所有 CVS 的东西都可以移植到 Git 中,我不需要系统地做相反的事情)。

谢谢!

4

1 回答 1

3

已经有一些答案:例如这里。我已经将 git 内置的 cvsimport 用于许多不复杂的小型存储库,并且效果很好。但是您必须仔细检查(或让您的脚本这样做)。在一个大型存储库中,我发现文件已从 CVS 中删除的转换错误,而这未能反映在 git 镜像中。它还被证明无法从 CVS 正确导入供应商分支。

最后我发现cvs2git更可靠。但是,此工具不支持增量转换。但是,您可以通过执行完整的 cvs2git 转换然后将结果推送到您正在进行的镜像来解决此问题。这样做的一个好处是你的 git 用户可以在需要时推送工作分支,只要他们不提交到镜像分支。这已经在一个相当大的存储库上运行了大约一年(10 年的工作,50 万 LOC)。

于 2012-03-08T23:43:23.550 回答