首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cvs2git迁移与git和cvs不同的二进制文件(用-kb标记)

cvs2git迁移与git和cvs不同的二进制文件(用-kb标记)
EN

Stack Overflow用户
提问于 2012-07-19 03:44:30
回答 2查看 686关注 0票数 0

我在一个超过2 GB的CVS存储库上运行了一个cvs2git迁移。我编写了一个脚本,遍历新的git存储库和CVS模块,以验证对象是否相同。我发现文本文件可以很好地迁移,并且具有相同的sha1sum;但是,所有二进制文件具有不同的sha1sums,并且它们都被标记为CVS (-kb)中的二进制文件。我读过的关于cvs2git和二进制文件的其他话题通常都将问题归咎于二进制文件没有被标记为二进制(-kb),但这里的情况并非如此。还会有什么问题呢?

我执行迁移的脚本如下:

代码语言:javascript
复制
./Python-2.7.3/python ./cvs2svn-trunk/cvs2git \
--blobfile=/path/to/git-blob.dat \
--dumpfile=/path/to/git-dump.dat \
--username=cvs2git \
/cvsroot/database

cd /gitroot; mkdir database; cd database; git init

cat /path/to/git-{blob,dump}.dat | git fast-import
EN

回答 2

Stack Overflow用户

发布于 2012-07-20 02:37:43

如果您的存储库是CVSNT存储库,而不是标准CVS存储库,则可以解释您的问题。对于所有修订,CVS记录一次文件是否为二进制文件,而CVSNT按修订记录文件类型修订。cvs2svn/cvs2git仅读取文件范围内的二进制属性,而不读取CVSNT的逐个修订版属性。因此,它不知道一个文件在CVSNT中被标记为二进制。

这是cvs2svn/cvs2git does not officially support converting from CVSNT repositories的主要原因。

票数 1
EN

Stack Overflow用户

发布于 2012-07-20 03:58:57

这些二进制文件是否包含一些$Id ...$形式的字符串?这就是我之前遇到的问题(它在二进制文件中用$Id$替换了它),但它应该在最新版本中得到修复,请参阅this commit

在任何情况下,我都建议使用十六进制编辑器来找出它们之间的实际区别。

我还注意到您没有使用选项文件。我不确定cvs2git使用的默认设置是什么,但使用cvs2git-example.options的自定义版本会值得一试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11549082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档