我在超过 2 GB 的 CVS 存储库上运行了 cvs2git 迁移。我写了一个脚本遍历新的 git 存储库和 CVS 模块来验证对象是否相同。我发现文本文件迁移得很好并且具有相同的 sha1sum;然而,所有的二进制文件都有不同的 sha1sum,它们在 CVS (-kb) 中都被标记为二进制。我读过的关于 cvs2git 和二进制文件的所有其他主题通常都将问题归咎于没有被标记为二进制文件 (-kb) 的二进制文件,但这里的情况并非如此。还有什么问题?
我执行迁移的脚本如下:
./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