如何将 cvsnt 存储库导入 git 并维护历史记录?有什么限制吗?
我们目前正计划将我们的工作源代码控制从 CVSNT 更改为新的东西。一位将负责推出它的同事正在提倡 SVN。他对 GIT 的唯一反对意见是认为将历史从 CVSNT 导入 GIT 是不可靠的。
我看过这样的帖子:cvsimport still not working with cvsnt
这仍然是一个真正的问题吗?
如果是,有可靠的解决方案吗?
如何将 cvsnt 存储库导入 git 并维护历史记录?有什么限制吗?
我们目前正计划将我们的工作源代码控制从 CVSNT 更改为新的东西。一位将负责推出它的同事正在提倡 SVN。他对 GIT 的唯一反对意见是认为将历史从 CVSNT 导入 GIT 是不可靠的。
我看过这样的帖子:cvsimport still not working with cvsnt
这仍然是一个真正的问题吗?
如果是,有可靠的解决方案吗?
你最好试试看。如果您执行转换,然后将生成的签出树与您的 CVS 签出树进行比较,并且它们匹配,那么它很可能是有效的。某些存储库可能无法转换 - 我知道使用 CVS 供应商分支可能会出现问题。我为我们的工作 CVSNT 存储库发现 cvs2git 程序(它基于 cvs2svn btw)产生了最好的版本。为了验证它,将我们关心的每个分支的尖端与 cvs checkout 进行比较,一旦修复了一些 unicode 错误,这是一个完美的匹配(这些是提交到 cvs 时已损坏的注册表文件 - 不是转换为 git 错误)。
据我所知,没有任何东西可以读取 CVSNT 特定的 commit-id 字段来重新创建相同的变更集。因此,可用的程序都将使用时间/提交消息启发式计算出变更集,因此可能会出错。我真的只能说——cvs2git 可以正常转换我们 10 年的 cvs 存储库。尝试并仔细检查。