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