5

我已经使用 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 上运行导入。我也尝试过不限制堆栈大小和文件描述符,但内存错误仍然存​​在。

有人知道吗?

4

2 回答 2

4

这个想法是:

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

于 2013-08-11T17:43:37.287 回答
0

我也遇到过同样的问题,但现在解决了。请下载最新的 cvs2svn,它具有显着减小转储大小的修复程序。它减少了符号提交的元数据。版本是 cvs2git 2.5 或更高版本。

(您可以在https://github.com/mhagger/cvs2svn/commit/fd177d0151f00b028b4a0df21e0c8b7096f4246b查看所做的更改)

于 2017-12-07T08:27:47.807 回答