是的,我知道我应该放弃CVS,但这不是我做出的决定,由于“遗留”支持,CVS将会存在一段时间。但是,我认为第1步是在git上下文中显示repo。出于这个原因,我首先想要同步CVS - > 'readonly'Git。
然后我可以手动将git repo中的更改重新放回CVS。
我可以使用哪些工具来执行此操作?哪个最好?什么是不能做的(我认为所有CVS的东西都可以移植到Git中,而且我不需要系统地反向)。
谢谢!
答案 0 :(得分:3)
已经有一些答案:例如here。我已经使用git内置的cvsimport来处理许多小而简单的存储库,这很好用。但是你必须仔细检查(或让你的脚本这样做)。在一个大型存储库中,我发现转换中的错误,其中文件已从CVS中删除,但这未能反映在git镜像中。事实证明,它无法从CVS正确导入供应商分支。
最后我发现cvs2git更可靠。但是,此工具不支持增量转换。但是,您可以通过执行完整的cvs2git转换然后将结果推送到正在进行的镜像来解决此问题。这样做的一个优点是你的git用户可以根据需要推送工作分支,只要他们不对镜像分支进行提交即可。这已经在一个相当大的存储库(10年的工作,50万LOC)上运行了大约一年。