如何将72GB转储文件导入git?

时间:2013-08-11 14:16:59

标签: git import git-fast-import

我已经使用cvs2git(cvs2svn)迁移了一个旧的cvs存储库。结果转储文件现在是72GB大,我通过git fast-import导入转储的试验总是因为内存不足错误而失败:

  

致命:内存不足,malloc失败(尝试分配 6196691字节
      快速导入:将崩溃报告转储到fast_import_crash_13097
      错误:git-fast-import死于信号11

我的系统有32GB RAM和50GB交换。我正在使用Git 1.8.3.4(gcc44,python2.6.8,cvs2svn2.4.0)在Red Hat 5.3上运行导入。我还试图限制堆栈大小和文件描述符,但内存错误仍然存​​在。

有人有任何想法吗?

2 个答案:

答案 0 :(得分:3)

这个想法是:

然后你将cvs(sub-)repos导入到单独的git repos中 由于git是分布式的,而不是集中式的,因此您希望保持每个git repo的大小合理。

答案 1 :(得分:0)

我也面临同样的问题但现在已经解决了。请下载最新的cvs2svn,其中包含大大减少转储大小的修复程序。它减少了符号提交的元数据。版本是cvs2git 2.5或更高版本。

(您可以查看https://github.com/mhagger/cvs2svn/commit/fd177d0151f00b028b4a0df21e0c8b7096f4246b

中所做的更改