git svn在Windows下克隆大型repo:内存不足-不是大文件问题
我正在尝试用git svn克隆一个大型svn存储库。回购协议有10万次修订。大小约为9GB(原始文件夹)。回购协议中最大的文件是300MB 分支机构结构在回购协议中完全是一团糟。大量错误和丢失的合并信息,没有标准布局。我试图获取最新的修订版本,有分支和没有分支。没有分支的命令如下所示: git svn克隆url\u到\u repo中的\u trunk\u-r100000:HEAD--username=svn\u用户 HEAD目前为101037。该过程运行了一段时间(小时),但失败如下: 请求29040字节时内存不足,sbrk()的总数为254959616字节 我已经获得了最新维护的git Windows版本(git-1.9.4-preview20140929),它运行在Windows7x64上,内存为16GB 我对这种失败做了一些调查。大多数帖子都是指几年前大文件的问题,很可能已经解决了(还没有检查)。无论如何,这个问题是指大型分配,由“大型”请求期间的错误消息指示。但是,在添加小尺寸的正常实现文件时,该过程失败。因此,我不认为这是一个大文件问题 我试图修改etc/gitconfig中的包设置,这是一个常见的建议。然而,这没有帮助。我没想到它会有任何帮助,因为内存错误发生在从svn服务器下载的过程中,而不是在处理包的git gc过程中,AFAIK 进一步挖掘导致perl内存限制为256MB。最有可能是这种情况,因为我总是在几乎256MB sbrk()的情况下得到错误 对perl内存限制的进一步研究只会带来操作系统内存限制。这是win32上的2GB(带特殊开关的3GB)和64位windows的RAM限制。我还发现了一些提高Cygwin内存限制的建议,但这在这里并不适用 256MB的限制在我看来是荒谬的,我拼命寻找一种方法来绕过这个限制git svn在Windows下克隆大型repo:内存不足-不是大文件问题,windows,git,perl,svn,memory,Windows,Git,Perl,Svn,Memory,我正在尝试用git svn克隆一个大型svn存储库。回购协议有10万次修订。大小约为9GB(原始文件夹)。回购协议中最大的文件是300MB 分支机构结构在回购协议中完全是一团糟。大量错误和丢失的合并信息,没有标准布局。我试图获取最新的修订版本,有分支和没有分支。没有分支的命令如下所示: git svn克隆url\u到\u repo中的\u trunk\u-r100000:HEAD--username=svn\u用户 HEAD目前为101037。该过程运行了一段时间(小时),但失败如下: 请求29
编辑: 这很可能是Perl5.8.8版本的问题(git使用该版本)。我还安装了草莓perl 5.16.3 x64。 我已经编写了此测试代码,它是对发布在以下位置的代码的修改:
有了Cygwin和Git 2.1.1,我可以在我的回购上运行Git svn,而不会出现任何内存问题。我的测试程序也运行良好。我还没有在Cygwin上尝试过Git的1.x版本,但我想它们会起作用,因为问题是msysperl的内存限制被Cygwin所取代 我不会将此标记为答案,因为它不能解决我原来的问题。这是我目前使用Git进行测试的变通方法
我希望有一个Git for Windows发行版和正常工作的Perl。升级Perl时存在一个问题。然而,这似乎不是一项容易的任务。同样适用于git SVN在Windows上使用的SVN版本:你读过这个吗?是的,我读过。这是指此处不适用的大文件问题。这篇文章还链接到我提到的补丁。cygwin配置似乎也有问题,我没有使用它。
use strict;
use warnings;
my @s;
my $count = 200;
my $alloc = 30000000;
for (my $i = 0; $i < $count; $i++)
{ print "Trying allocation...";
$s[$i] = "a" x $alloc; # ok
print "OK\n\n";
}
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 2046
cpu time (seconds, -t) unlimited
max user processes (-u) 63
virtual memory (kbytes, -v) 2097152